Pazarlama ekipleri, hangi potansiyel içerik üreticilerinin aktif olduğunu, kitlelerinin nasıl değiştiğini ve profillerin en son ne zaman güncellendiğini anlamak için onlarca hesabı elle kontrol etmek zorunda kalıyor. Tek seferlik bir tablo kısa sürede güncelliğini yitiriyor: takipçi sayısı ve profil açıklaması değişiyor; gönderi tarihlerini ve tek tek gönderilerin performansını yeniden toplamak gerekiyor.

Pratik bir çözüm, küçük bir gözlem günlüğü tutmaktır: önceden hazırlanmış bir listedeki herkese açık profilleri günde bir kez sorgulayın, yanıtı toplama zamanıyla birlikte kaydedin ve yeni değerleri önceki anlık görüntülerle karşılaştırın. Bu yaklaşım, hesapları daha ayrıntılı elle incelemek üzere seçmeye, etkinliklerini değerlendirmeye ve düzenli raporlar hazırlamaya yardımcı olur. Hesap sahibinin analiz araçlarının yerini tutmaz: örneğin, profilin herkese açık bilgileri özel erişim gerektiren erişim verilerini sağlamaz.
Önce tam olarak neleri izlemek istediğinizi belirleyin
Potansiyel iş ortaklarını bulmak için genellikle kısa bir alan listesi yeterlidir: kullanıcı adı, profil kimliği, doğrulanma durumu, takipçi sayısı, gönderi sayısı, biyografi ve toplama zamanı. Bu değerler profilin değişip değişmediğini fark etmeyi ve hesapları seçilen nişe göre karşılaştırmayı sağlar. Gerçek alanlar API yanıtına bağlıdır; işleme başlamadan önce belgelerdeki güncel JSON yapısını inceleyin ve bulunmayan alanlara güvenmeyin.
İçerik etkinliğini görmek için profillere gönderi verilerini de ekleyebilirsiniz. IG Scraper API haritasında kullanıcı medyası ve video klipleri için ayrı uç noktalar ile medya ve yorum sorguları listeleniyor. Bunları profili doğruladıktan sonra ayrı bir aşama olarak ekleyin: önce Postman'de gerekli parametreleri ve yanıt biçimini teyit edin, ardından yalnızca raporunuz için gerçekten gereken alanları kaydedin.
İzleme için yararlı bir kural: ham yanıtları normalleştirilmiş satırlardan ayrı saklayın. API yanıtı değişirse ham JSON, yorumlamayı yeniden kontrol etmenizi sağlar; normalleştirilmiş tablo ise grafikler ve filtreler için kullanışlıdır. Her iki durumda da güncel değeri geçmişteki bir değerden ayırt edebilmek için sorgu zamanını kaydedin.
IG Scraper API'yi bağlayın
jsonscraper'ın IG API temel adresi https://ig.jsonscraper.com. Resmî belgelerde, kullanıcı adına göre profil sorgulama örneği şu şekilde veriliyor: GET /v1/user/by/username; username, license_key ve cache_timeout parametreleriyle. Örneğin belgelerde test hesabı için şu biçimde bir URL gösteriliyor: https://ig.jsonscraper.com/v1/user/by/username?username=apple&license_key=YOUR_LICENSE_KEY&cache_timeout=60. Önbellekleme parametresini yalnızca ilgili uç noktanın koşullarına ve kendi amacınıza uygun şekilde kullanın: sorgulama sıklığı, güncellemeleri ne kadar hızlı istediğinizle uyumlu olmalıdır.
Yanıt yapısını kontrol etmek için IG Scraper API sayfasını açın ve buradan bağlantılı Postman koleksiyonuna geçin. Örnek başarılı yanıt; bir durum, profil kimliği, kullanıcı adı ve doğrulanma bilgisini içeren ig nesnesi ile bir zaman damgası içeriyor. Belgeler ayrıca kullanıcılar, medya, arama, hashtag'ler ve konumlara ilişkin uç nokta gruplarını listeliyor; böylece analiz amacınız netleştikçe veri toplamayı genişletebilirsiniz.
API anahtarını kaynak koda veya istemci uygulamasına değil, bir ortam değişkenine kaydedin. jsonscraper belgeleri anahtarın ortamda tutulmasını ve istemci derlemelerine gömülmemesini öneriyor. İş akışında anahtara erişimi kısıtlayın: örneğin yalnızca arka plan veri toplama görevinin erişmesine izin verin.
Python ile çalışan en basit örnek
Aşağıdaki betik kullanıcı adlarını bir ortam değişkeninden okur, her profili sorgular ve bir JSONL dosyasına yazar. JSONL, ilk prototip için kullanışlıdır: her satır bir anlık görüntüdür. Kod, tüm yanıt nesnesini saklar; profil alanlarının her zaman mevcut olduğunu varsaymaz. İlk çalıştırmadan sonra gerçek yanıtı inceleyin, ancak bundan sonra kararlı bir tablo şeması oluşturun.
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)
Çalıştırmadan önce yapılandırmayı ortam değişkenlerine ekleyin:
export JSONSCRAPER_LICENSE_KEY="anahtarınız"
export IG_USERNAMES="creator_one,creator_two,creator_three"
python monitor.py
Örnekteki bekleme, listedeki hesapların daha kontrollü biçimde sırayla işlenmesi içindir; API için açıklanmış bir sınır değildir. Zamanlanmış bir iş akışı kurarken sıklığı ve hata işlemeyi planınıza, belgelere ve güncellik gereksinimlerinize göre ayarlayın. Bir sorgu başarısız olursa kaydedilen satır, hesabın sessizce atlanması yerine sorunu görmenizi sağlar.
Yanıtı doğruladıktan sonra verileri normalleştirin
Kullandığınız uç noktanın yanıtını inceledikten sonra kararlı bir sütun kümesi belirleyin. Örneğin gözlem tablosu; toplama zamanı, kullanıcı adı, profil kimliği, doğrulanmış yanıt durumu ve JSON'da mevcutsa gerekli sayaçları içerebilir. Her alan eksik olduğunda ne yapılacağını açıkça belirleyin: boş değer kaydetmek, satırı eksik olarak işaretlemek veya yeniden incelenmek üzere göndermek.
Dünkü satırı bugünkü değerle değiştirmeyin. Değişiklikleri hesaplamak ve tarihler arasındaki farklılıkları fark etmek için anlık görüntü geçmişi gerekir. Takipçi sayısındaki değişimi, aynı profilin birbirini izleyen başarılı gözlemleri arasında hesaplayın; değişebilen yalnızca kullanıcı adıyla karşılaştırmak yerine kararlı bir kimlik kullanmak daha iyidir.
Ham yanıt rapor için gerekenden fazla veri içeriyorsa sınırlı bir süre saklayın. Normalleştirilmiş tabloda yalnızca belirli amaç için gerekli alanlar bulunmalıdır. İçerik üreticilerine yönelik herkese açık araştırmalarda bu genellikle veri hacmini azaltır ve bilgilerin neden toplandığını açıklamayı kolaylaştırır.
Günlük çalıştırma ve bildirim ekleyin
Sunucuda betik, örneğin cron gibi bir görev zamanlayıcıyla; otomasyon aracında ise bir zamanlama ve HTTP isteğiyle çalıştırılabilir. Temel iş akışı; tetikleyici, profil listesini okuma, uç noktayı sırayla çağırma, başarılı yanıtı doğrulama, satırı depoya yazma ve özet hazırlama adımlarından oluşur. n8n veya Make'te bu adımları ayrı düğümlere bölerek tek bir profildeki hatanın tüm listeyi durdurmasını önleyebilirsiniz.
Rapor için basit ölçümler hesaplayın: başarıyla işlenen profil sayısı, son başarılı anlık görüntüye göre takipçi sayısı değişen profiller ve kaydın en son ne zaman güncellendiği. Ayrı bir hata listesi; yanlış kullanıcı adlarını, erişilemeyen profilleri ve geçici sorgu sorunlarını hızla belirlemeye yardımcı olur. Gönderi verilerini ekleyecekseniz önce gereken geçmiş derinliğini ve alan kümesini kararlaştırın, ardından belgelerdeki ilgili uç noktayı bağlayın.
Önbellekleme de bilinçli biçimde yapılandırılmalıdır. Belgeler, cache_timeout parametresini desteklenen uç noktalarda yakın tarihli sonuçları yeniden kullanmak için açıklıyor. Günlük karşılaştırma raporu için, istenen veri güncelliğiyle uyumlu bir ayar seçin; bunun kaydını tutmadan önbelleğe alınmış yanıtı yeni bir ölçüm noktası gibi değerlendirmeyin.
Bu izleme size neler gösterir?
Anlık görüntüler biriktikçe ekip, seçilen herkese açık profiller için doğrulanabilir bir gözlem geçmişine sahip olur. Sayaçlardaki değişiklikleri karşılaştırabilir, uzun süredir güncellenmeyen kayıtları bulabilir ve elle değerlendirmek üzere kısa bir hesap listesi hazırlayabilirsiniz. Seçilen uç nokta ve amaç için medya verisi sunuluyorsa profillere gönderiler ekleyip paylaşım sıklığını veya içerik biçimlerini inceleyebilirsiniz; ancak önce ilgili alanların belgelerde doğrulandığından emin olun.
Ölçümleri, iş birliği hakkında otomatik karar vermek için değil, araştırmayı daraltmak için kullanın. Takipçi sayısı tek başına kitlenin markaya uygunluğunu, içeriğin niteliğini veya içerik üreticisinin ticari açıdan uygunluğunu göstermez. Profil incelemesine insan denetimi ekleyin ve seçim ölçütlerini teknik veri toplama sürecinden ayrı tutun.
Deneme amaçlı çalıştırma için Postman'deki IG API koleksiyonunu açın, anahtarınızı yapılandırın ve profil sorgusunu çalıştırın. Ardından doğruladığınız parametreleri betiğe veya otomasyona aktarın. Böylece sayfalar için kendi kazıyıcınızı yazmaya gerek kalmadan tekrarlanabilir günlük veri toplama, değişiklik geçmişi ve analiz raporları için bir temel elde edersiniz.