AutoAiSeo API ve MCP
AutoAiSeo verilerinizi kendi yazılımlarınızla (REST API) ya da Claude, ChatGPT, Cursor gibi yapay zekâ asistanlarıyla (MCP) kullanın. Her istek yalnızca kendi hesabınızın verisine erişir.
Başlarken
- Panelde API ve MCP sekmesini açın ve Yeni anahtar ile bir anahtar oluşturun. Anahtar (
rk_live_…) yalnızca bir kez gösterilir. - İsteklerde
Authorization: Bearerbaşlığıyla gönderin.
curl -H "Authorization: Bearer rk_live_…" https://autoaiseo.example/api/v1/sites
Temel adres: https://autoaiseo.example/api/v1. Tüm yanıtlar JSON’dur; başarılı yanıtlar data alanında döner.
Kimlik doğrulama ve yetkiler
| Yetki | Ne yapabilir |
|---|---|
read (Okuma) | Hesap, siteler, makaleler, anahtar kelimeler, backlink raporu, gelişim ve hizmet geçmişi. |
read_write (Okuma ve yazma) | Ayrıca makale fikri ekleme, makale yazdırma (aylık plan kotanızdan düşer) ve makale yayınlama. |
- Hesap başına en fazla 10 etkin anahtar. Anahtarlar süresiz ya da 30 gün, 90 gün, 1 yıl geçerli olabilir.
- AutoAiSeo anahtarın kendisini saklamaz, yalnızca SHA-256 özetini ve görünen başını (
rk_live_Ab3dEf) saklar. Kaybolan anahtar geri getirilemez; iptal edip yenisini oluşturun. - İptal edilen, süresi dolan ya da askıya alınmış hesaplara ait anahtarlar hemen çalışmaz hâle gelir.
- Tarayıcı oturum çerezleri API’de geçerli değildir; her istekte anahtar gönderilmelidir.
Hız sınırı
Her anahtar (veya OAuth bağlantısı) için dakikada 60 istek. Yanıtlarda X-RateLimit-Limit ve X-RateLimit-Remaining başlıkları bulunur. Sınır aşılırsa 429 ve kaç saniye beklemeniz gerektiğini söyleyen Retry-After başlığı döner.
Hatalar
{ "error": { "code": "not_found", "message": "Site bulunamadı" } }
| HTTP | code | Anlamı |
|---|---|---|
| 400 | invalid_request | Parametre veya gövde geçersiz. |
| 401 | unauthorized, invalid_token | Anahtar yok, geçersiz, iptal edilmiş ya da süresi dolmuş. |
| 402 | quota_exceeded | Bu ayki makale kotanız doldu. |
| 403 | insufficient_scope | İşlem için “Okuma ve yazma” yetkisi gerekiyor. |
| 403 | account_suspended | Hesap askıya alınmış. |
| 404 | not_found | Kayıt yok ya da size ait değil. |
| 409 | conflict, not_ready, limit_reached | Makale zaten yazılıyor/yayında, yayına hazır değil ya da bir sınıra ulaşıldı. |
| 429 | rate_limited | Hız sınırı aşıldı. |
| 502 | publish_failed | Yayın hedefi (WordPress, Shopify…) yayını kabul etmedi. |
| 500 | internal_error | Beklenmeyen sunucu hatası. |
Sayfalama
Uzun listeler page ve per_page (en fazla 100–200) parametrelerini kabul eder ve şu bilgiyi döndürür:
"pagination": { "page": 1, "per_page": 50, "total": 132, "total_pages": 3 }
Uç noktalar
GET /api/v1/me
Hesap, plan limitleri, bu ayki kullanım, ekstra backlink hakkı ve kullanılan anahtarın yetkisi.
GET /api/v1/sites
Siteleriniz: id, alan adı, durum, SEO sağlık skoru, güven skoru, yayındaki makale, canlı backlink, referans domain, 30 günlük değişim ve sıradaki makale.
GET /api/v1/sites/{id}
Site özeti: profil, yayın ayarları, makale sayıları (duruma göre), backlink ağı özeti ve 30 günlük gelişim özeti.
GET /api/v1/sites/{id}/progress?range=90d
Gelişim raporu. range: 30d, 90d, 180d, 365d, all.
GET /api/v1/sites/{id}/articles
Makaleler (sayfalı). Parametreler: status (planned, generating, review, approved, published, failed), q (başlık/kelime araması), page, per_page.
GET /api/v1/articles/{id}
Makale: başlık, meta açıklama, puanlar (SEO, GEO, okunabilirlik), SSS, partner backlinkleri, gövdedeki linkler (iç/dış/partner) ve içerik. content: html (varsayılan), markdown ya da none.
GET /api/v1/sites/{id}/keywords
Anahtar kelimeler (sayfalı): küme, arama niyeti, öncelik ve kelimeyi hedefleyen makale (article_id, article_status). Parametreler: cluster, q, page, per_page.
GET /api/v1/sites/{id}/backlinks
Backlink raporu: kredi, canlı/bekleyen linkler, referans domainler, anchor dağılımı, alınan linkler (sayfalı) ve verilen son linkler.
GET /api/v1/sites/{id}/services
AutoAiSeo’nun site için yaptığı işler: toplamlar, son 12 ay ve geçmiş (sayfa başına 30). Parametreler: kind, q, page.
POST /api/v1/sites/{id}/articles read_write
İçerik planına makale fikri ekler (durum planned). Tarih verilmezse plandaki son makalenin ertesi gününe yerleşir; tarihi gelince AutoAiSeo yazar. Kota kullanmaz.
curl -X POST -H "Authorization: Bearer rk_live_…" -H "Content-Type: application/json" \
-d '{"title":"Filtre kahve nasıl demlenir?","target_keyword":"filtre kahve demleme","angle":"Yeni başlayanlar için"}' \
https://autoaiseo.example/api/v1/sites/12/articles
Gövde: title (zorunlu, 5–200), target_keyword, cluster, angle, scheduled_for (YYYY-MM-DD). Yanıt 201.
POST /api/v1/articles/{id}/generate read_write
Makaleyi arka planda yazdırır (202, durum generating). Panel ile aynı kurallar geçerlidir: aylık kotanızdan düşer (bu ay zaten yazılmış bir makaleyi yeniden yazmak ücretsizdir), yayındaki makale yeniden yazılamaz. Bitince durum review olur.
POST /api/v1/articles/{id}/publish read_write
Yazılmış makaleyi sitenin yayın hedefine (AutoAiSeo blog, WordPress, Shopify, Webflow, webhook) gönderir ve yayın adresini döndürür.
MCP sunucusu
Adres: https://autoaiseo.example/mcp — Streamable HTTP taşıma katmanı (JSON yanıtlar). Protokol sürümleri: 2026-07-28 ve el sıkışmalı eski sürümler (2025-11-25, 2025-06-18, 2025-03-26).
Kimlik doğrulama iki yoldan biriyle yapılır:
- OAuth — Claude ve ChatGPT gibi bağlayıcılar adresi eklediğinizde AutoAiSeo giriş ve izin sayfasını açar; API anahtarı gerekmez. Bağlantıyı panelde Bağlı uygulamalardan kaldırabilirsiniz.
- API anahtarı — Cursor, Claude Code, VS Code gibi istemcilerde
Authorization: Bearer rk_live_…başlığıyla.
Claude
Ayarlar → Bağlayıcılar → Özel bağlayıcı ekle, URL olarak MCP adresini yapıştırın ve Bağlan’a basın.
ChatGPT
Ayarlar → Uygulamalar ve bağlayıcılar → Gelişmiş ayarlar’dan geliştirici modunu açın, Bağlayıcı oluştur ile MCP adresini ve OAuth kimlik doğrulamasını seçin.
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"autoaiseo": {
"url": "https://autoaiseo.example/mcp",
"headers": { "Authorization": "Bearer rk_live_…" }
}
}
}
Claude Code
claude mcp add --transport http autoaiseo https://autoaiseo.example/mcp --header "Authorization: Bearer rk_live_…"
MCP araçları
Araç sonuçları kısa bir metin özeti ve aynı verinin yapılandırılmış hâlini (structuredContent) içerir. Yazma araçları yalnızca yazma izni verildiğinde listelenir.
| Araç | Ne yapar |
|---|---|
list_sites | Siteler ve özet metrikler; diğer araçlar için site_id. |
site_overview | Site profili, metrikler, makale sayıları, backlink ağı özeti. |
site_progress | Bir dönemin gelişim raporu (başlangıç ve şimdi, kilometre taşları). |
list_articles | Makaleler; durum ve metin filtresi, sayfalı. |
get_article | Makale içeriği (markdown/HTML), puanlar, linkler, SSS. |
list_keywords | Anahtar kelimeler ve kapsayan makaleler. |
backlink_report | Backlink ağı raporu ve alınan linkler. |
services_history | AutoAiSeo’nun yaptığı işlerin dökümü. |
add_article_idea yazma | İçerik planına makale fikri ekler. |
generate_article yazma | Makaleyi yazdırır (kotadan düşer). |
publish_article yazma | Makaleyi yayınlar. |
OAuth (MCP istemcisi geliştirenler için)
AutoAiSeo, MCP yetkilendirme belirtimine uygun küçük bir OAuth 2.1 yetkilendirme sunucusu içerir.
| Korunan kaynak bilgisi | /.well-known/oauth-protected-resource (ve /mcp ekli hâli) |
| Yetkilendirme sunucusu bilgisi | /.well-known/oauth-authorization-server |
| İstemci kaydı | Client ID Metadata Documents (https client_id) veya dinamik kayıt: POST /oauth/register (yalnızca açık istemciler, token_endpoint_auth_method: none) |
| Yetkilendirme | GET /oauth/authorize — response_type=code, PKCE S256 zorunlu, resource (RFC 8707), yanıtta iss (RFC 9207) |
| Anahtar | POST /oauth/token — authorization_code ve refresh_token |
| İptal | POST /oauth/revoke (RFC 7009) |
| Kapsamlar | read, write (yazma okumayı da kapsar). Kullanıcı izin ekranında düzeyi seçer. |
- Yönlendirme adresleri https veya
localhost/127.0.0.1olmalıdır; birebir eşleşir (loopback adreslerde port serbesttir). - Yetkilendirme kodu 2 dakika geçerlidir ve tek kullanımlıktır; ikinci kullanım o bağlantının tüm anahtarlarını iptal eder.
- Erişim anahtarı 1 saat, yenileme anahtarı 30 gün geçerlidir. Yenileme anahtarları her kullanımda değişir; eski bir yenileme anahtarının tekrar kullanılması bağlantıyı kapatır.
- Erişim anahtarları yalnızca MCP sunucusu için verilir; REST API kişisel API anahtarı ister.
- Yetersiz kapsamda
403veWWW-Authenticate: Bearer error="insufficient_scope", scope="read write"döner.
Gizlilik
Panelde gördüğünüz API etkinlik kaydı yalnızca yöntem, yol, durum kodu, süre, anahtarın görünen başı (ya da OAuth uygulamasının adı) ve zamanı içerir. İstek ve yanıt içerikleri ile IP adresleri kaydedilmez; her hesap için son 1.000 istek tutulur.