Marknadsföringsteam behöver kontrollera dussintals konton manuellt för att ta reda på vilka potentiella kreatörer som är aktiva, hur deras målgrupper förändras och när en profil senast uppdaterades. Ett engångsark blir snabbt inaktuellt: antal följare och profilbeskrivningar ändras, medan publiceringsdatum och enskilda inläggs resultat måste samlas in på nytt.

En praktisk lösning är att föra en liten observationslogg: hämta offentliga profiler från en förberedd lista en gång om dagen, spara svaret tillsammans med insamlingstidpunkten och jämför nya värden med tidigare ögonblicksbilder. Det hjälper dig att välja konton för vidare manuell granskning, bedöma aktivitet och ta fram regelbundna rapporter. Metoden ersätter inte analys från kontots ägare: offentliga profiluppgifter ger till exempel inte tillgång till interna räckviddsmått.
Börja med att avgöra vad du vill följa
För att hitta potentiella samarbetspartner räcker det oftast med en kort lista över fält: användarnamn, profil-ID, verifieringsstatus, antal följare, antal inlägg, biografi och insamlingstidpunkt. Med dessa värden kan du upptäcka profiländringar och jämföra konton inom en vald nisch. Vilka fält som faktiskt finns beror på API-svaret; granska den aktuella JSON-datan i dokumentationen innan du bearbetar den och utgå inte från att fält finns om de saknas där.
För att följa innehållsaktivitet kan du komplettera profilerna med inläggsdata. I IG Scraper API-kartan listas separata slutpunkter för användares media och videoklipp samt förfrågningar för media och kommentarer. Lägg till dem som ett separat steg efter profilkontrollen: bekräfta först vilka parametrar som behövs och hur svaret är utformat i Postman, och spara sedan bara de fält som rapporten faktiskt behöver.
En bra tumregel för bevakning är att lagra råsvar separat från normaliserade rader. Rå JSON gör det möjligt att kontrollera tolkningen på nytt om API-svaret ändras, medan en normaliserad tabell är praktisk för diagram och filter. Spara i båda fallen tidpunkten för förfrågan så att aktuella värden kan skiljas från historiska.
Anslut till IG Scraper API
jsonscrapers basadress för IG API är https://ig.jsonscraper.com. I den officiella dokumentationen finns en profilförfrågan med användarnamn: GET /v1/user/by/username med parametrarna username, license_key och cache_timeout. För ett testkonto visar dokumentationen exempelvis en URL av typen https://ig.jsonscraper.com/v1/user/by/username?username=apple&license_key=YOUR_LICENSE_KEY&cache_timeout=60. Använd cacheparametern endast enligt villkoren för den aktuella slutpunkten och ditt eget behov: avsökningsfrekvensen bör motsvara hur snabbt du behöver uppdateringar.
Om du vill kontrollera svarens struktur kan du öppna sidan för IG Scraper API och gå vidare till den tillhörande Postman-samlingen. I exemplet innehåller ett lyckat svar en status, ett ig-objekt med profil-ID, användarnamn och verifieringsstatus samt en tidsstämpel. Dokumentationen listar även grupper av slutpunkter för användare, media, sökning, hashtaggar och platser. Därmed kan insamlingen utökas när analysbehovet blir tydligare.
Förvara API-nyckeln i en miljövariabel, inte i källkoden eller en klientapplikation. jsonscrapers dokumentation rekommenderar att nyckeln lagras i miljön och inte bäddas in i klientbyggen. Begränsa åtkomsten till nyckeln i arbetsflödet, till exempel genom att bara göra den tillgänglig för insamlingsjobbet i bakgrunden.
Ett minimalt fungerande Python-exempel
Skriptet nedan läser användarnamn från miljövariabler, hämtar varje profil och skriver till en JSONL-fil. JSONL passar bra för en första prototyp: en rad motsvarar en ögonblicksbild. Koden sparar avsiktligt hela svarobjektet i stället för att anta att alla profilfält alltid finns. Granska det faktiska svaret efter den första körningen och skapa en stabil tabellschema först därefter.
import json
import os
import time
from datetime import datetime, timezone
from pathlib import Path
from urllib.parse import urlencode
from urllib.request import Request, urlopen
API_KEY = os.environ["JSONSCRAPER_LICENSE_KEY"]
USERNAMES = [name.strip() for name in os.environ["IG_USERNAMES"].split(",") if name.strip()]
BASE_URL = "https://ig.jsonscraper.com/v1/user/by/username"
OUTPUT = Path("instagram_profiles.jsonl")
def fetch_profile(username: str) -> dict:
query = urlencode({
"username": username,
"license_key": API_KEY,
"cache_timeout": 60,
})
request = Request(f"{BASE_URL}?{query}", headers={"Accept": "application/json"})
with urlopen(request, timeout=30) as response:
return json.load(response)
with OUTPUT.open("a", encoding="utf-8") as output:
for username in USERNAMES:
collected_at = datetime.now(timezone.utc).isoformat()
try:
payload = fetch_profile(username)
row = {
"collected_at": collected_at,
"requested_username": username,
"ok": True,
"payload": payload,
}
except Exception as exc:
row = {
"collected_at": collected_at,
"requested_username": username,
"ok": False,
"error": str(exc),
}
output.write(json.dumps(row, ensure_ascii=False) + "\n")
output.flush()
time.sleep(1)
Ställ in konfigurationen i miljön innan du kör skriptet:
export JSONSCRAPER_LICENSE_KEY="din_nyckel"
export IG_USERNAMES="creator_one,creator_two,creator_three"
python monitor.py
Pausen i exemplet ger en lugnare sekventiell bearbetning av listan; den är inte en uppgift om API:ets gränsvärde. För schemalagda körningar ska frekvens och felhantering anpassas efter din plan, dokumentationen och kraven på aktualitet. Om en förfrågan misslyckas gör den sparade posten problemet synligt i stället för att kontot hoppas över utan meddelande.
Normalisera data efter att du granskat svaret
När du har granskat svaret från den slutpunkt du använder väljer du en stabil uppsättning kolumner. En observationstabell kan till exempel innehålla insamlingstid, användarnamn, profil-ID, verifierad svarsstatus och relevanta räknare – om de finns i JSON-datan. Bestäm uttryckligen hur varje saknat fält ska hanteras: spara ett tomt värde, markera posten som ofullständig eller skicka den för en ny granskning.
Skriv inte över gårdagens rad med dagens värde. Historiken över ögonblicksbilder behövs för att beräkna skillnader mellan datum och upptäcka förändringar. Beräkna skillnaden i antal följare mellan intilliggande lyckade observationer av samma profil; en stabil identifierare är bättre att jämföra än enbart användarnamnet, som kan ändras.
Överväg att lagra råsvaret under en begränsad tid om det innehåller fler uppgifter än rapporten behöver. Den normaliserade tabellen bör bara innehålla fält som motiveras av den specifika uppgiften. Vid offentlig kartläggning av kreatörer minskar det vanligtvis datamängden och gör det lättare att förklara varför uppgifterna samlas in.
Lägg till daglig körning och avisering
På en server kan skriptet köras med en schemaläggare som cron, eller enligt ett schema i ett automatiseringsverktyg med en HTTP-förfrågan. Grundflödet består av en utlösare, inläsning av profillistan, sekventiella anrop till slutpunkten, kontroll av lyckade svar, lagring av en rad och framtagning av en sammanfattning. I n8n eller Make kan samma steg delas upp i separata noder, så att ett fel för en profil inte stoppar hela samlingen.
Beräkna enkla mått i rapporten: hur många profiler som behandlades utan fel, vilka som ändrat följarantal sedan föregående lyckade ögonblicksbild och när en post senast uppdaterades. En separat fellista hjälper till att upptäcka felaktiga användarnamn, otillgängliga profiler och tillfälliga problem med förfrågningar. Om du lägger till inlägg bör du först bestämma önskat historikdjup och vilka fält som behövs, och därefter ansluta motsvarande slutpunkt från dokumentationen.
Även cacheinställningar bör väljas med eftertanke. Dokumentationen beskriver cache_timeout som en parameter för slutpunkter som stöder återanvändning av nyligen hämtade resultat. För en daglig jämförelserapport väljer du ett läge som motsvarar den aktualitet du behöver; blanda inte ett cachat svar med en ny kontrollpunkt utan att markera det i loggen.
Vad den här bevakningen kan visa
När du har samlat in ögonblicksbilder en tid får teamet en verifierbar observationshistorik över valda offentliga profiler. Du kan jämföra förändringar i räknare, hitta poster som inte uppdaterats på länge och sammanställa en kortlista över konton för manuell bedömning. Om medieinsamling är tillgänglig för den valda slutpunkten och uppgiften kan du lägga till inlägg till profilerna och analysera publiceringstakt eller innehållsformat – förutsatt att de specifika fälten bekräftas i dokumentationen.
Använd måtten som ett filter för research, inte som ett automatiskt beslut om samarbete. Antalet följare beskriver inte i sig hur väl målgruppen passar varumärket, innehållets kvalitet eller kreatörens kommersiella lämplighet. Lägg till en mänsklig profilgranskning och dokumentera urvalskriterierna separat från den tekniska insamlingen.
Öppna IG API-samlingen i Postman för att testa flödet, konfigurera nyckeln och skicka en profilförfrågan. För sedan över de verifierade parametrarna till skriptet eller automatiseringen. På så sätt får du en reproducerbar daglig insamling, en historik över förändringar och en grund för analysrapporter, utan att börja med en egenutvecklad sidparsers.