Twitter API nedir, geliştiriciler nasıl kullanır?

Etkisepeti EkibiEtkisepeti Ekibi
12 dk okuma
Twitter API nedir, geliştiriciler nasıl kullanır?

Twitter API nedir, ne işe yarar ve nasıl kullanılır? X Developer planları, rate limit tasarımı, OAuth 2.0 ve güvenli anahtar yönetimiyle ilk curl isteğine kadar adım adım ilerleyin. Etkisepeti notlarıyla ölçüm ve kademeli tempo yaklaşımı da içeride.

Twitter API nedir? X’in (Twitter) geliştiricilere açtığı arayüzdür; uygulamanızın HTTP istekleriyle tweet araması yapmasına, kullanıcı bilgisi okumasına, etkileşim sayılarını çekmesine ve izin verilirse tweet atmasına imkân verir. Sağlam bir entegrasyon için iki şey belirleyicidir: doğru plan/izin seçimi ve rate limit’i (istek sınırlarını) mimariye baştan yerleştirmek. Aşağıda Twitter API nedir sorusunu netleştirip, OAuth 2.0 ve güvenli anahtar yönetimiyle ilk curl isteğine kadar ilerliyoruz.

Başlarken şu noktaları netleştirmek işinizi kolaylaştırır:

  • İhtiyacınız okuma mı (arama/analiz), yoksa yazma mı (tweet atma/yanıt verme)?
  • Hangi erişim seviyesi yeterli ve limitlere göre nasıl tasarım yapacaksınız?
  • API anahtarlarını güvenli nasıl saklayacaksınız (koda gömmeden)?
  • Çıktıyı hangi iş hedefiyle bağlayacaksınız: raporlama, destek, içerik planlama?
Analitik panel ekranı
Twitter API ile veri çekmenin en pratik çıktısı genellikle bir raporlama paneli veya otomatik uyarı sistemidir.

Twitter API ile neler yapabilirsiniz?

En basit haliyle API, bir yazılımın başka bir yazılımla konuşma biçimidir. Twitter API ise X’in sunduğu uç noktalar (endpoint) üzerinden, belirli kurallarla veri okumanıza ve bazı durumlarda işlem yapmanıza izin verir. Pratik akış genelde üç adıma iner: Developer hesabı açarsınız, bir uygulama oluşturup anahtar/token alırsınız, sonra HTTP istekleriyle endpoint’lere çağrı yaparsınız.

Okuma (read) ve yazma (write) örnekleri

Okuma tarafında en sık kullanılan işler:

  • Arama: Belirli bir anahtar kelime/hashtag geçen tweet’leri çekmek (arama endpoint’leri).
  • Kullanıcı: Bir hesabın profil bilgisi, takipçi sayısı gibi alanları okumak.
  • Zaman serisi: Belirli aralıklarla veri çekip raporlamak (ör. kampanya öncesi/sonrası karşılaştırma).

Yazma tarafında ise (izin ve planınıza bağlı olarak):

  • Tweet atma, yanıtlama, alıntılama
  • Belirli otomasyonlar (ör. destek ekibi için şablon yanıtlar)

“Herkese açık sosyal veri” ne demek, neyi kapsamaz?

“Herkese açık sosyal veri” genellikle herkesin görebildiği içerik ve sinyalleri ifade eder: herkese açık tweet’ler, bazı kullanıcı alanları, etkileşim sayıları gibi. Ancak bu ifade “platformdaki her şeye erişirim” anlamına gelmez. Örneğin:

  • Özel hesap içerikleri (protected) herkese açık değildir.
  • DM gibi mahrem alanlar ayrı izin ve kurallara tabidir.
  • Bazı alanlar/endpoint’ler plan ve yetkilendirme türüne göre kapalı olabilir.

API ile yapılabilen tipik projeler

  • Dashboard: Marka/ürün anahtar kelimeleri için günlük hacim, etkileşim, trend konular.
  • Müşteri desteği: Belirli kelimelerle gelen şikayetleri etiketleyip ekibe yönlendirme.
  • Araştırma: Kampanya etkisi, içerik temaları, duygu (sentiment) değişimi.

Twitter API planları, rate limit ve maliyet mantığı

Twitter API’de yaşanan erişim sorunlarının önemli bir kısmı, erişim seviyesi seçimi ve kullanım limitleri (rate limit) ile ilgilidir. Bu yüzden kod yazmadan önce ihtiyacınızı netleştirip plan/limit mantığını anlamak gerekir.

Erişim katmanları (planlar) ve hangi ihtiyaçta hangisi yeterli olur?

X Developer Platform’daki planlar; hangi endpoint’lere erişebileceğinizi, ne kadar istek atabileceğinizi ve bazı durumlarda hangi özellikleri kullanabileceğinizi belirler. Pratikte:

  • Basit prototip / öğrenme: Az sayıda istek, sınırlı kapsam.
  • Raporlama / düzenli izleme: Daha yüksek limit, daha stabil veri akışı ihtiyacı.
  • Ürünleştirme: Uygulamanın kullanıcı sayısı arttıkça limit ve maliyet planlaması daha kritik hale gelir.

Plan seçerken sadece “bugün kaç istek atarım?” değil; “bu paneli ekibe açarsam kaç kullanıcı aynı anda sorgu çalıştırır, hangi endpoint’ler yoğunlaşır?” gibi soruları da düşünün.

Rate limit nedir, neden var? (mühendislik perspektifi)

Rate limit, belirli bir zaman penceresinde atabileceğiniz istek sayısına konan sınırdır. X tarafında bu pencere çoğu endpoint için 15 dakikalık aralık olarak tanımlanır (detaylar endpoint’e göre değişir). Bunun iki temel nedeni vardır:

  • Altyapı koruması: Herkes sınırsız istek atarsa sistem kararsızlaşır.
  • Adil kullanım: Kaynakların kullanıcılar arasında dengeli paylaşılması.

Rate limit’i “engel” gibi değil, uygulamanızın trafik yönetimi kuralı gibi düşünün. Örneğin bir endpoint “15 dakikada N istek” sınırı koyuyorsa, uygulamanızın da aynı pencereyi baz alıp istekleri sıraya alması gerekir.

Uygulama tasarımına etkisi: kuyruk, önbellek, yeniden deneme (retry)

Limitler, mimariyi doğrudan etkiler. Üç pratik yaklaşım:

  1. Kuyruk (queue): İstekleri sıraya alıp kontrollü hızda gönderin.
  2. Önbellek (cache): Sık sorulan veriyi her seferinde API’den çekmek yerine kısa süre saklayın.
  3. Yeniden deneme (retry): Geçici hatalarda (özellikle 429) bekleyip tekrar deneyin; agresif tekrar denemeyin.
Sosyal medya yönetimi yapan ekip
Limitleri doğru yönettiğinizde Twitter API, ekiplerin günlük işini otomatikleştiren güvenilir bir araca dönüşür.

Twitter API için Developer hesabı açma ve uygulama (app) oluşturma

İlk kurulum, X Developer portalında bir proje ve uygulama oluşturup kimlik bilgilerini (key/token) almaktan ibarettir. Arayüz zamanla güncellense de mantık genellikle aynı kalır: Project altında bir App ve onun yetkilendirme ayarları.

Developer portalda proje/app oluşturma adımları

  1. X Developer Portal üzerinden hesabınızla giriş yapın.
  2. Bir Project oluşturun (uygulamanın amacı/alanı).
  3. Project içinde bir App oluşturun.
  4. Uygulamanın permissions (read / write) ayarlarını ihtiyacınıza göre seçin.
  5. Oluşan API key, API secret ve gerekiyorsa token’ları güvenli şekilde kaydedin.

Callback/redirect URL nedir, ne zaman gerekir?

Callback/redirect URL, OAuth akışında kullanıcı X üzerinde izin verdikten sonra geri döneceği adrestir. Şu senaryolarda gerekir:

  • Uygulamanız kullanıcı adına işlem yapacaksa (ör. kullanıcı kendi hesabıyla bağlanıp uygulamadan tweet atacaksa)
  • “Sign in with X” benzeri giriş senaryolarında

Sadece uygulama adına herkese açık veri okuyacaksanız (bearer token ile), her zaman redirect URL gerekmeyebilir; yine de seçtiğiniz akışa göre portal sizden isteyebilir.

Ortam ayrımı: geliştirme (dev) ve canlı (prod) anahtarları

Geliştirme ortamında kullandığınız anahtarları canlı sistemle karıştırmayın. En sağlıklı yaklaşım:

  • Dev: Test verisi, düşük risk, daha sık log.
  • Prod: Daha sıkı erişim, daha az kişiyle paylaşım, izleme/uyarılar açık.

Twitter API anahtarları: API key, secret ve token’lar ne işe yarar?

Yeni başlayanların kafasını en çok karıştıran kısım burası: “API key aldım, şimdi neden bearer token istiyor?” Çünkü farklı yetkilendirme türleri farklı senaryolara hizmet eder.

API key / API secret ile bearer token farkı

API key / API secret

Uygulamanızı tanımlar. Genellikle OAuth akışlarında “bu isteği yapan uygulama kim?” sorusunun cevabıdır.

Bearer token

Çoğu okuma senaryosunda, uygulama adına API’ye erişmek için kullanılır. İsteklerde Authorization: Bearer ... başlığıyla gönderilir.

OAuth 2.0 akışını basitçe anlamak (kullanıcı adına işlem vs uygulama adına)

OAuth 2.0 temelde şunu çözer: Kullanıcı şifresini uygulamanıza vermeden, uygulamanıza belirli izinler tanır. İki yaygın yaklaşım:

  • Uygulama adına: Herkese açık sosyal veri okuma gibi senaryolar (çoğu durumda bearer token yeter).
  • Kullanıcı adına: Kullanıcının hesabında işlem yapmak (tweet atma, yönetim aksiyonları). Burada kullanıcıdan izin almanız gerekir.

Hangi akışın gerektiğini, yapmak istediğiniz iş belirler. “Sadece arama yapacağım” ile “kullanıcının hesabından paylaşım yapacağım” aynı yetkilendirme değildir.

Güvenlik: anahtarları koda gömmemek, .env ve secret manager kullanmak

En temel kural: anahtarları repoya koymayın. Pratik seçenekler:

  • .env dosyası (lokalde) + .gitignore
  • Sunucuda environment variable olarak tanımlama
  • Bulut tarafında secret manager (erişim log’lanır, yetki yönetimi daha iyidir)
# Örnek .env (repoya koymayın)
X_BEARER_TOKEN=...
X_CLIENT_ID=...
X_CLIENT_SECRET=...

Twitter API nasıl kullanılır? İlk isteği tweet arama ile deneyin (curl)

İşe yarayan ilk kontrol, “token çalışıyor mu, endpoint’e erişebiliyor muyum, yanıt formatı beklediğim gibi mi?” sorularını tek seferde doğrulayan küçük bir çağrıdır. Bunun için curl ile bir arama endpoint’i çağırmak idealdir: hem yetkilendirmeyi test edersiniz hem de dönen JSON’u görüp alan seçimini (fields) doğru kurgularsınız.

Endpoint mantığı: base URL, path, query parametreleri

Bir API çağrısı genellikle şu parçalardan oluşur:

  • Base URL: API’nin ana adresi
  • Path: Hangi kaynağa gittiğiniz (ör. arama)
  • Query parametreleri: Filtreler ve alan seçimi (ör. query, max_results, tweet.fields)

Örnek: belirli anahtar kelimeyle tweet arama ve alan (fields) seçimi

Aşağıdaki komut temsili bir iskelet gösterir. Base URL ve endpoint yolu, kullandığınız API sürümüne ve dokümantasyondaki güncel formata göre değişebilir. Uygulamanızda mutlaka resmi dokümandaki adresleri esas alın.

curl -s -G "https://<X_API_BASE_URL>/2/tweets/search/recent" \
  -H "Authorization: Bearer $X_BEARER_TOKEN" \
  --data-urlencode "query=etkisepeti OR \"sosyal medya\"" \
  --data-urlencode "max_results=10" \
  --data-urlencode "tweet.fields=created_at,lang,public_metrics"

tweet.fields ile gereksiz alanları istemeyip yanıtı hafifletmek, hem performans hem de limit yönetimi açısından faydalıdır.

Hata okuma: 401/403/429 ne demek, kontrol listesi

En sık görülen HTTP hataları ve tipik nedenleri
Hata Ne anlatır? Genellikle çözüm
401 Yetkilendirme başarısız (token yanlış/eksik) Bearer token’ı kontrol edin; doğru ortam değişkeni mi? Authorization başlığı doğru mu?
403 Erişim yasak (izin/plan yetersiz veya endpoint kapalı) Uygulama izinlerini (read/write) ve plan kapsamını kontrol edin; ilgili endpoint planınızda var mı?
429 Kullanım limiti aşıldı Yanıttaki limit başlıklarını (kalan istek ve reset zamanı gibi) okuyun; reset zamanına kadar bekleyin; cache/queue ekleyin; istekleri seyrekleştirin.
Grafikler içeren analiz ekranı
İlk isteği aldıktan sonra sıradaki adım, veriyi “işe yarar bir göstergeye” çevirmektir.

Twitter API verisini anlamlandırma: duygu analizi ve konu kümeleri

API’den veri çekmek tek başına değer üretmez; değer, veriyi doğru soruya bağlayınca gelir. Burada iki popüler yaklaşım var: duygu analizi (sentiment analysis) ve konu kümeleri çıkarımı (topic modelling).

Duygu analizi: marka algısı ve kampanya sonrası değişim ölçümü

Duygu analizi, tweet’leri “olumlu/olumsuz/nötr” gibi sınıflara ayırmaya çalışır. Pratik kullanım örnekleri:

  • Kampanya sonrası marka hakkında konuşmaların tonunda değişim var mı?
  • Bir ürün güncellemesi sonrası şikayet dili artıyor mu?
  • Müşteri desteği ekibine “olumsuz” içerikleri önceliklendiren bir kuyruk kurmak

Bu konuda daha uygulamalı bir çerçeve için: Twitter duygu analizi rehberi.

Konu kümeleri: içerik temalarını gruplamak

Konu kümeleri çıkarımı, çok sayıda tweet içinden tekrar eden temaları bulmaya yarar. Örneğin bir marka için “kargo”, “fiyat”, “iade”, “kalite” gibi kümeler ortaya çıkabilir. Sosyal medya ekibi açısından bu, içerik planını tahminle değil, gerçekten konuşulan konularla kurmayı kolaylaştırır.

Yanlış yorum riskleri: örneklem yanlılığı, ironi, dil (TR) etkisi

Bu analizler özellikle Türkçe’de dikkat ister:

  • İroni/sarkazm: Model “olumlu” sanabilir.
  • Örneklem yanlılığı: X’te konuşan kitle, tüm müşteri kitleniz olmayabilir.
  • TR dil özellikleri: Ekler, argo, yazım hataları sınıflandırmayı zorlaştırır.

Twitter API’yi üretime taşırken: loglama, izleme ve veri saklama

Prototipte çalışan bir entegrasyonun üretimde bozulmasının nedeni çoğu zaman “görünürlük” eksikliğidir. Loglama, izleme ve veri saklama kararları baştan net olursa, sorunları daha hızlı yakalarsınız.

Takip edilecek sayılar: istek adedi, hata oranı, gecikme

En azından şunları takip edin:

  • Toplam istek sayısı (endpoint bazında)
  • Hata oranı (401/403/429 dağılımı)
  • Yanıt gecikmesi (gecikme süresi / latency) ve zaman aşımı

Bu sayılar, “limitlere mi takıldım, token mı bozuldu, ağ mı yavaş?” gibi soruları daha net yanıtlamanıza yardım eder.

Veri saklama: ham veri mi, özet mi? KVKK ve saklama süresi notları

Her şeyi süresiz saklamak genellikle iyi fikir değildir. İki yaklaşım:

  • Ham veri: Sonradan farklı analiz yapmak için esnektir; ama saklama yükü ve uyum sorumluluğu artar.
  • Özet veri: Günlük/haftalık toplamlar, trendler, etiket sayıları gibi; daha hafif ve çoğu rapor için yeterli olabilir.

KVKK açısından; hangi veriyi neden tuttuğunuzu, ne kadar süre sakladığınızı ve erişimi kimlerin gördüğünü netleştirmek gerekir. Ayrıca X’in geliştirici politikaları da veri saklama/yeniden paylaşım konularında kural koyabilir; uygulamanızı buna göre tasarlayın.

Büyüdükçe veri toplama: periyodik çekim mi, akış mı?

İki temel toplama biçimi vardır:

  • Periyodik çekim (batch): Belirli aralıklarla çekersiniz (ör. saatlik). Kurulumu kolaydır, limit yönetimi daha öngörülebilir olabilir.
  • Akış (stream): Olay oldukça veri alırsınız. Daha “anlık”tır; ama bağlantı yönetimi ve hata toleransı daha önemlidir.

Twitter API ile büyümeyi ölçmek: Etkisepeti notları

Sosyal medya ekipleri için API’nin en net değeri, “paylaştık, ne oldu?” sorusuna düzenli ve karşılaştırılabilir cevaplar üretmesidir. Etkisepeti’de yaklaşımımız; algoritma sinyallerini ölçmek, büyümeyi doğal bir tempoda tutmak ve yerel kitleyle içerik eşleşmesini güçlendirmek üzerine kurulu.

Algoritma sinyallerini izlemek: etkileşim oranı, görüntülenme, takipçi artışı

X tarafında içerik performansını okurken tek bir sayıya takılmak yerine, birkaç sinyali birlikte izlemek daha sağlıklıdır: görüntülenme, etkileşim (beğeni/yanıt/yeniden paylaşım), profil tıklaması ve takipçi artışı gibi. Twitter API ile bunları düzenli çekip içerik türlerine göre karşılaştırabilirsiniz.

Panel tarafını güçlendirmek isterseniz, X’in kendi arayüzünü de doğru okumak önemli: Twitter Analytics kullanımı yazısı iyi bir başlangıç olur.

Kademeli tempo (drip-feed): ani sıçramalar yerine daha tutarlı artış

Dağıtım sistemleri ve güvenlik katmanları, bazı hesaplarda ani ve açıklaması zor artışları anomali sinyali olarak yorumlayabilir. Bu yüzden büyüme hedefi koyarken, içerik ve etkileşim artışını kademeli planlamak daha dengeli bir çizgi sağlar. API burada iki noktada işe yarar:

  • Artışın olağan aralıkta kalıp kalmadığını düzenli izlemek
  • Hangi içerik formatının daha istikrarlı sinyal ürettiğini görmek

Eğer ekip içinde “kontrollü destek” senaryoları konuşuluyorsa, bunu da aynı mantıkla (ani sıçrama yaratmadan) planlamak gerekir. Bu noktada Etkisepeti’nin X etkileşim sayfasındaki kademeli teslimat yaklaşımı, nasıl bir tempo hedeflenebileceğine dair örnek bir çerçeve sunar.

Yerel kitle odağı: Türkçe konu/dil eşleşmesini veriyle güçlendirmek

Türkiye’de büyümek isteyen hesaplar için “kitle dili” kritik. Twitter API ile Türkçe konuşmaları, yerel gündem başlıklarını ve takipçilerin tepki verdiği içerik temalarını daha net görürsünüz. Bu da içerik planını daha isabetli yapar.

Hedefiniz özellikle yerel kitleyse, büyümeyi yerel dil ve ilgi alanlarıyla uyumlu tutmak için X Türk takipçi sayfasındaki yaklaşım notları da planlamaya yardımcı olabilir.

İçerik planı yapan sosyal medya ekibi
Veri + içerik planı birlikte yürüdüğünde, büyüme daha öngörülebilir hale gelir.

İçerik tarafında “ne paylaşsam?” sorusuna daha sistemli yaklaşmak için şu rehber de işinize yarar: Twitter hesabı büyütme taktikleri.


Sıkça Sorulan Sorular

Twitter API nedir?

Twitter API nedir sorusunun cevabı: X’in geliştiricilere açtığı arayüzdür. Tweet arama, kullanıcı bilgisi okuma, etkileşimleri izleme ve planınıza bağlı olarak tweet atma gibi işlemleri endpoint’ler üzerinden yapmanızı sağlar.

Twitter API nasıl kullanılır, en güvenli başlangıç adımı nedir?

Twitter API nasıl kullanılır diye başlıyorsanız; önce X Developer Portal’da proje ve uygulama oluşturup doğru izinleri (read/write) seçin. Ardından anahtarları repoya koymadan (.env veya secret manager ile) saklayın ve ilk doğrulama için curl ile basit bir arama isteği atın. Bu, token/endpoint/izin üçlüsünü aynı anda doğrular.

X API ücretsiz mi, hangi durumda ücretli plana ihtiyaç olur?

Karar genelde üç şeye bakarak verilir: (1) hangi endpoint’lere ihtiyacınız var, (2) limit penceresinde kaç sorgu çalıştıracaksınız, (3) kaç kullanıcı aynı anda sistemi kullanacak. Öğrenme ve tek geliştiricili prototiplerde düşük limitler yeterli olabilir; düzenli raporlama yapan panellerde veya birden fazla kullanıcıya hizmet veren uygulamalarda limit ve kapsam ihtiyacı daha hızlı büyür.

API ile otomatik tweet atmak güvenli mi, nelere dikkat etmeliyim?

Güvenli bir kurulum için üç nokta kritik: doğru OAuth akışı (kullanıcı adına işlem yapıyorsanız açık izin), anahtarların güvenli saklanması (repo/CI log’larına düşmemesi) ve hata durumunda kontrollü davranış (özellikle 429 sonrası bekleme). İçerik tarafında da otomasyonun tekrarlı görünmemesi için hız sınırı ve içerik denetimi eklemek iyi olur.

Rate limit’e takılınca ne yapmalıyım?

Önce gerçekten 429 aldığınızı doğrulayın ve hangi endpoint’in limiti aştığını ayırın. Sonra istekleri seyrekleştirin: cache ekleyin, kuyrukla hız sınırlayın ve yanıtın işaret ettiği reset zamanına kadar bekleyip tekrar deneyin. Aynı isteği kısa aralıklarla tekrar etmek, çoğu senaryoda sorunu uzatır.

Bearer token ile kullanıcı adına işlem yapabilir miyim?

Bearer token çoğunlukla uygulama adına okuma senaryolarında kullanılır. Kullanıcı adına tweet atma gibi işlemler için OAuth 2.0 ile kullanıcıdan izin almanız ve ilgili kapsamlarla (scopes) üretilmiş kullanıcı token’larını kullanmanız gerekir.

Türkçe tweetlerde duygu analizi neden zor, nasıl iyileştirilir?

Türkçe’de ekler, argo, yazım farklılıkları ve ironi sınıflandırmayı zorlaştırır. İyileştirmek için metin temizleme/normalize etme, alan sözlüğü ekleme (ürün adları, kampanya terimleri) ve mümkünse Türkçe odaklı bir modelle örnek sonuçları manuel kontrol ederek kalibrasyon yapmak iyi sonuç verir.

Not: Eğer içerikte “Twitter API nedir” sorusunu ekip içinde dokümante ediyorsanız, bir sayfalık bir “erişim/izin haritası” hazırlamak (hangi endpoint, hangi token, hangi limit) ileride bakım maliyetini ciddi şekilde düşürür.

Etkisepeti Ekibi

Etkisepeti Ekibi

Etkisepeti ekibi, sosyal medya büyümesi ve dijital pazarlama trendleri hakkında bilgiler paylaşır.

Daha fazla içerik

Daha Fazla İçerik Keşfedin

Sosyal medya stratejileri ve ipuçları hakkında daha fazla yazı okuyun.

Tüm Blog Yazıları