Ennen kampanjan käynnistämistä jokaisen briiffissä mainitun IG-tilin voi verrata automaattisesti profiilin julkisiin tietoihin. Tarkistus paljastaa käyttäjänimen poikkeamat, yksityisen tilin, nimen tai esittelytekstin muutokset sekä julkaisumäärän poikkeamisen odotetusta vaihteluvälistä. Tuloksena on markkinoijalle tarkoitettu tarkistustaulukko, ei automaattinen päätös sisällöntuottajan sopivuudesta.

Ongelma: briiffi vanhenee taulukkoa nopeammin
Kampanjaluettelo voi sisältää tilin nimen, linkin, seuraajamäärän suuntaa-antavan arvion ja julkista profiilia koskevia vaatimuksia. Tiedot voivat helposti vanhentua: tili vaihtaa käyttäjänimeään, profiili muuttuu yksityiseksi ja briiffin luvut pysyvät ennallaan. Yksittäisen profiilin tarkistaminen käsin on helppoa, mutta tililuettelon toistuva tarkistaminen ennen jokaista kampanjaa on vaikeampi hallita ja toistaa.
Hyödyllinen ratkaisu on määritellä jokaiselle riville selkeät säännöt, hakea saatavilla olevat julkiset kentät tarkistushetkellä ja kirjata vierekkäin alkuperäiset ja toteutuneet arvot. ”Täsmää” tarkoittaa tällöin vain, että tietty kenttä vastaa tiettyä sääntöä; yleisön sopivuutta tai sisällön laatua koskeva arvio jää asiantuntijalle.
Mitä tietoja kannattaa pyytää
IG API:n reittihakemistossa kuvataan GET-reitti /v1/user/by/username, jossa pakollinen parametri on username. Tarkistetussa vastauksessa profiilitiedot ovat ig-objektissa: siihen sisältyvät käyttäjänimi, koko nimi, esittelyteksti, yksityisyyden ja vahvistuksen merkit, julkaisujen määrä sekä seuraajien ja seurattujen määrä. Nämä kentät kuvaavat saatavilla olevaa profiilin tilannekuvaa.
Alustavaan tarkistukseen riittävät tilin nimen, yksityisyysasetuksen ja numeeristen raja-arvojen vertailu. Esittelytekstin voi näyttää tarkistajalle tai tarkistaa yksinkertaisella säännöllä, kuten pakollisen termin esiintymisellä. Tällainen tekstisuodatin löytää merkkijonon, mutta ei yksin arvioi merkitystä eikä vahvista sopimusehtojen täyttymistä.
Pyynnön lisääminen Pythoniin
Tallenna ensin lisenssiavain ympäristömuuttujaan JSONSCRAPER_INSTAGRAM_LICENSE_KEY. Esimerkissä käytetään vahvistettua perusosoitetta, reittiä, username-parametria ja avaimen nimeä license_key. CSV-tiedoston kentät ovat username,min_followers,max_followers,require_public; skripti vertaa kunkin tilin vastausta sääntöihin ja merkitsee manuaalista tarkistusta vaativat rivit.
import csv
import os
import sys
import requests
BASE_URL = "https://ig.jsonscraper.com"
API_KEY = os.environ.get("JSONSCRAPER_INSTAGRAM_LICENSE_KEY")
if not API_KEY:
raise SystemExit("Set JSONSCRAPER_INSTAGRAM_LICENSE_KEY")
# brief.csv: username,min_followers,max_followers,require_public
with open("brief.csv", newline="", encoding="utf-8") as source:
brief = list(csv.DictReader(source))
results = []
for row in brief:
username = row.get("username", "").strip()
minimum_text = row.get("min_followers", "").strip()
if not username or not minimum_text:
results.append({
"requested_username": username,
"needs_review": True,
"error": "Missing username or min_followers",
})
continue
try:
response = requests.get(
f"{BASE_URL}/v1/user/by/username",
params={"username": username, "license_key": API_KEY},
timeout=30,
)
response.raise_for_status()
payload = response.json()
if payload.get("status") != "ok" or not isinstance(payload.get("ig"), dict):
raise ValueError("Unexpected API response")
profile = payload["ig"]
followers = profile.get("follower_count")
minimum = int(minimum_text)
maximum_text = row.get("max_followers", "").strip()
maximum = int(maximum_text) if maximum_text else None
public_required = row.get("require_public", "").strip().lower() == "true"
checks = {
"username_matches": (
isinstance(profile.get("username"), str)
and profile["username"].lower() == username.lstrip("@").lower()
),
"followers_in_range": (
isinstance(followers, int)
and followers >= minimum
and (maximum is None or followers
Käynnistys: python check_profiles.py. Asenna requests-kirjasto, määritä ympäristömuuttuja suoritusympäristössä ja sijoita brief.csv samaan hakemistoon. Älä kirjoita avainta lähdekoodiin tai tulos-CSV-tiedostoon. Skripti käsittelee luettelon järjestyksessä, mikä sopii pienten tilijoukkojen tarkistamiseen ja virheenkorjaukseen.
Miksi puuttuvien tietojen on näyttävä tuloksissa
Tarkistussäännöissä on tärkeää erottaa nolla-arvo kentästä, jota ei ole lainkaan. Esimerkissä seuraajamäärä hyväksytään vain, jos kenttä sisältää numeerisen arvon; jos laskuri puuttuu, ehtoa ei ole vahvistettu ja tietue lähetetään manuaaliseen tarkistukseen. Myös tyhjä min_followers-raja merkitään virheelliseksi syötetiedoksi sen sijaan, että se muutettaisiin automaattisesti nollaksi.
Vastauksen tarkistus kannattaa sisällyttää osaksi työnkulkua. Skripti varmistaa ensin, että ulkoinen tila on ok, ja tarkistaa sitten, että ig-objekti on olemassa. HTTP-virhe, odottamaton JSON tai virheellinen sääntö päätyy raporttiin ilman poikkeuksen tekstiä, joka voisi paljastaa avaimen URL-osoitteessa. Näin käyttäjä erottaa pyyntövirheen profiilin poikkeamasta paljastamatta salaista avainta.
Tulosten lukeminen ja tarkistuksen automatisointi
profile_check.csv-tiedosto sisältää alkuperäisen käyttäjänimen, palautetun nimen, saatavilla olevat julkiset kentät, yksittäisten ehtojen tulokset sekä yleisen needs_review-ilmaisimen. Tiimi voi suodattaa rivejä tämän ilmaisimen perusteella, ja kehittäjä voi tallentaa raportin tietovarastoon tai välittää sen ETL-prosessin seuraavaan vaiheeseen. Aikataulutusta varten aja skripti ajastimella ja tallenna suorituspäivä erikseen, jotta kampanjoiden tilannekuvia voi verrata.

Jos sääntö muuttuu, säilytä se briiffissä äläkä kovakoodaa sitä. Näin raja-arvot ovat tarkistettavissa: jokaiselta riviltä näkee, mitä seuraajamäärän vaihteluväliä tai julkisuusasetusta odotettiin. Esittelytekstille voi lisätä tietyn tekstin esiintymistä koskevan tarkistuksen, mutta kirjaimellinen vastaavuus ei korvaa asiantuntijan tekemää sisällöllistä arviota.
IG Scraper API -sivulla esitellään perusosoite, pyyntöesimerkki ja linkki Postmaniin. Yllä oleva esimerkki käyttää vain vahvistettua käyttäjänimeen perustuvaa profiilihakua eikä oleta, että pyyntö palauttaisi julkaisuja.
Käytännön tuloksena on toistettava alustava tarkistus: koko luettelon manuaalisen läpikäynnin sijaan tiimi saa luettelon täsmäyksistä ja poikkeamista, jotka liittyvät briiffin tiettyihin kenttiin. Tämä nopeuttaa käynnistystä edeltävää tarkistusta ja jättää kampanjaan sopivuutta koskevan päätöksen vastuuhenkilölle.