jsonscraper

IG-opas

Näin scrapeat IG:tä Pythonilla

Päivitetty 5. maaliskuuta 2026 3 min lukuaika 15 näyttökertaa

Tämä opas näyttää tuotanto-ensimmäisen IG-datan työnkulun jsonscraper-päätepistekartalla, jossa on todellisia vastausnäytteitä ja käytännön arkkitehtuurivaihtoehtoja.

Tuotantotyökuormien tärkein etu on päätepisteen syvyys sekä välimuistin aikakatkaisutuki tärkeillä reiteillä, mikä auttaa vähentämään päällekkäisiä puheluita ja kiintiöiden polttamista.

Mitä rakennat

Nopea aloitus Postmanissa

Aloita virallisesta IG-kokoelmasta, aseta license_key kerran ja suorita pyynnöt muutamalla klikkauksella ennen koodausta.

Vaihe 1

Haarukka

Käytä IG- tai TikTok Postman -kokoelmaa työtilan perustana.

Vaihe 2

Aseta avain

Configure license_key once in an environment variable.

Vaihe 3

Automatisoi

Vie katkelmia tai suorita tekoälyagentin työnkulkuja valmiiden pyyntöjen päälle.

Kaikki API-pyynnöt

Täysi endpoint-kartta kokoelmasta. Laajenna jokainen luokka ja klikkaa reittiä nähdäksesi parametrit ja vastausesimerkit.

Kayttaja Media Tarina Kohokohta Sijainti Hashtag Haku FB-haku Audio (Musiikki) Web API (GraphQL)
User (30 endpoints)
Media (18 endpoints)
Story (6 endpoints)
Highlight (3 endpoints)
Location (6 endpoints)
Hashtag (8 endpoints)
Search (11 endpoints)
FB Search (2 endpoints)
Audio (Music) (2 endpoints)
Web API (GraphQL) (11 endpoints)
Näytä täydellinen päätepisteluettelo Postmanissa

Python-esimerkit kokoelmasta

Nämä esimerkit käyttävät samaa auth-mallia kuin Postman: license_key query-parametreissa.

Example 1: get user by username (GET /v1/user/by/username)

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "username": "apple",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/v1/user/by/username", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data["ig"]["username"], data["ig"]["pk"])
{
  "status": "ok",
  "limits_info": {"requests_count": 7098, "requests_limit": 2000300},
  "rate_limit_reached": false,
  "ig": {"pk": 5821462185, "username": "apple", "full_name": "apple"}
}

Example 2: get user stories by username (GET /v1/user/stories/by/username)

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "username": "applemusic",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/v1/user/stories/by/username", params=params, timeout=30)
r.raise_for_status()
data = r.json()

stories = data.get("ig", [])
print("stories:", len(stories))

Python-pyyntömalli (license key + sivutus)

Käytä yhteistä request-helperiä, jotta allekirjoitus ja sivutus pysyvät johdonmukaisina kaikissa endpointissa.

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

def call(endpoint: str, **params):
    q = {"license_key": LICENSE_KEY, "cache_timeout": 0, **params}
    res = requests.get(f"{BASE_URL}{endpoint}", params=q, timeout=30)
    res.raise_for_status()
    return res.json()

page1 = call("/v1/user/medias/chunk", user_id="5821462185")
next_max_id = page1.get("next_max_id")
if next_max_id:
    page2 = call("/v1/user/medias/chunk", user_id="5821462185", max_id=next_max_id)

Toteutusmuistiinpanot

  • Sisällytä license_key aina jokaiseen pyyntöön.
  • Käytä cache_timeout-arvoa tarkoituksella toistuviin tarkistuksiin.
  • Tallenna cursor-kentät yhdessä query-kontekstin kanssa.
  • Laajenna reittipeittoa luokittain vasta baseline-validoinnin jälkeen.

Oletko valmis käynnistämään API-työnkulkusi?

Valitse API, testaa endpointit Postmanissa ja käynnistä työnkulku minuuteissa.