AutoAiSeo API और MCP
अपने AutoAiSeo डेटा को अपने सॉफ़्टवेयर (REST API) या Claude, ChatGPT, Cursor जैसे AI असिस्टेंट (MCP) के साथ इस्तेमाल करें। हर अनुरोध सिर्फ़ आपके अपने अकाउंट के डेटा तक पहुँचता है।
शुरुआत करें
- डैशबोर्ड में API और MCP टैब खोलें और नई कुंजी से एक कुंजी बनाएँ। कुंजी (
rk_live_…) सिर्फ़ एक बार दिखाई जाती है। - अनुरोधों में इसे
Authorization: Bearerहेडर के साथ भेजें।
curl -H "Authorization: Bearer rk_live_…" https://autoaiseo.example/api/v1/sites
बेस पता: https://autoaiseo.example/api/v1। सभी रिस्पॉन्स JSON में होते हैं; सफल रिस्पॉन्स data फ़ील्ड में लौटते हैं।
ऑथेंटिकेशन और अनुमतियाँ
| अनुमति | क्या कर सकता है |
|---|---|
read (पढ़ना) | अकाउंट, साइटें, लेख, कीवर्ड, बैकलिंक रिपोर्ट, प्रगति और सेवा इतिहास। |
read_write (पढ़ना और लिखना) | साथ ही लेख का आइडिया जोड़ना, लेख लिखवाना (प्लान के मासिक कोटा से घटता है) और लेख प्रकाशित करना। |
- हर अकाउंट के लिए अधिकतम 10 सक्रिय कुंजियाँ। कुंजियाँ बिना समय-सीमा के या 30 दिन, 90 दिन, 1 साल के लिए मान्य हो सकती हैं।
- AutoAiSeo कुंजी को ख़ुद सेव नहीं करता, सिर्फ़ उसका SHA-256 हैश और दिखने वाला शुरुआती हिस्सा (
rk_live_Ab3dEf) सेव करता है। खोई हुई कुंजी वापस नहीं मिल सकती; उसे रद्द करके नई बनाएँ। - रद्द की गई, समय-सीमा ख़त्म हो चुकी या निलंबित अकाउंट की कुंजियाँ तुरंत काम करना बंद कर देती हैं।
- ब्राउज़र सेशन कुकी API में मान्य नहीं हैं; हर अनुरोध के साथ कुंजी भेजनी होगी।
रेट लिमिट
हर कुंजी (या OAuth कनेक्शन) के लिए प्रति मिनट 60 अनुरोध। रिस्पॉन्स में X-RateLimit-Limit और X-RateLimit-Remaining हेडर होते हैं। सीमा पार होने पर 429 और कितने सेकंड इंतज़ार करना है, यह बताने वाला Retry-After हेडर लौटता है।
त्रुटियाँ
{ "error": { "code": "not_found", "message": "Site bulunamadı" } }
| HTTP | code | अर्थ |
|---|---|---|
| 400 | invalid_request | पैरामीटर या बॉडी अमान्य है। |
| 401 | unauthorized, invalid_token | कुंजी मौजूद नहीं है, अमान्य है, रद्द की गई है या उसकी समय-सीमा ख़त्म हो गई है। |
| 402 | quota_exceeded | इस महीने का आपका लेख कोटा पूरा हो गया है। |
| 403 | insufficient_scope | इस कार्रवाई के लिए “पढ़ना और लिखना” अनुमति चाहिए। |
| 403 | account_suspended | अकाउंट निलंबित है। |
| 404 | not_found | रिकॉर्ड मौजूद नहीं है या आपका नहीं है। |
| 409 | conflict, not_ready, limit_reached | लेख पहले से लिखा जा रहा है/प्रकाशित है, प्रकाशन के लिए तैयार नहीं है, या कोई सीमा पूरी हो गई है। |
| 429 | rate_limited | रेट लिमिट पार हो गई। |
| 502 | publish_failed | प्रकाशन टार्गेट (WordPress, Shopify…) ने प्रकाशन स्वीकार नहीं किया। |
| 500 | internal_error | अनपेक्षित सर्वर त्रुटि। |
पेजिनेशन
लंबी लिस्ट page और per_page (अधिकतम 100–200) पैरामीटर स्वीकार करती हैं और यह जानकारी लौटाती हैं:
"pagination": { "page": 1, "per_page": 50, "total": 132, "total_pages": 3 }
एंडपॉइंट
GET /api/v1/me
अकाउंट, प्लान की सीमाएँ, इस महीने का उपयोग, अतिरिक्त बैकलिंक और इस्तेमाल की गई कुंजी की अनुमति।
GET /api/v1/sites
आपकी साइटें: id, डोमेन, स्थिति, SEO हेल्थ स्कोर, ट्रस्ट स्कोर, प्रकाशित लेख, लाइव बैकलिंक, रेफ़रिंग डोमेन, 30 दिन का बदलाव और अगला लेख।
GET /api/v1/sites/{id}
साइट सारांश: प्रोफ़ाइल, प्रकाशन सेटिंग्स, लेखों की संख्या (स्थिति के अनुसार), बैकलिंक नेटवर्क सारांश और 30 दिन का प्रगति सारांश।
GET /api/v1/sites/{id}/progress?range=90d
प्रगति रिपोर्ट। range: 30d, 90d, 180d, 365d, all.
GET /api/v1/sites/{id}/articles
लेख (पेजिनेटेड)। पैरामीटर: status (planned, generating, review, approved, published, failed), q (टाइटल/कीवर्ड खोज), page, per_page.
GET /api/v1/articles/{id}
लेख: टाइटल, मेटा डिस्क्रिप्शन, स्कोर (SEO, GEO, पठनीयता), FAQ, पार्टनर बैकलिंक, बॉडी के लिंक (इंटरनल/एक्सटर्नल/पार्टनर) और कंटेंट। content: html (डिफ़ॉल्ट), markdown या none.
GET /api/v1/sites/{id}/keywords
कीवर्ड (पेजिनेटेड): क्लस्टर, सर्च इंटेंट, प्राथमिकता और कीवर्ड को टार्गेट करने वाला लेख (article_id, article_status)। पैरामीटर: cluster, q, page, per_page.
GET /api/v1/sites/{id}/backlinks
बैकलिंक रिपोर्ट: क्रेडिट, लाइव/लंबित लिंक, रेफ़रिंग डोमेन, एंकर वितरण, मिले हुए लिंक (पेजिनेटेड) और हाल में दिए गए लिंक।
GET /api/v1/sites/{id}/services
AutoAiSeo ने साइट के लिए जो काम किए: कुल योग, पिछले 12 महीने और इतिहास (हर पेज पर 30)। पैरामीटर: kind, q, page.
POST /api/v1/sites/{id}/articles read_write
कंटेंट प्लान में लेख का आइडिया जोड़ता है (स्थिति planned)। तारीख़ न दी जाए तो यह प्लान के आख़िरी लेख के अगले दिन रखा जाता है; तारीख़ आने पर AutoAiSeo इसे लिखता है। इससे कोटा इस्तेमाल नहीं होता।
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
बॉडी: title (ज़रूरी, 5–200), target_keyword, cluster, angle, scheduled_for (YYYY-MM-DD)। रिस्पॉन्स 201.
POST /api/v1/articles/{id}/generate read_write
लेख को बैकग्राउंड में लिखवाता है (202, स्थिति generating)। डैशबोर्ड वाले नियम ही लागू होते हैं: यह आपके मासिक कोटा से घटता है (इस महीने पहले से लिखे गए लेख को दोबारा लिखना मुफ़्त है), प्रकाशित लेख को दोबारा नहीं लिखा जा सकता। पूरा होने पर स्थिति review olur.
POST /api/v1/articles/{id}/publish read_write
लिखे गए लेख को साइट के प्रकाशन टार्गेट (AutoAiSeo ब्लॉग, WordPress, Shopify, Webflow, webhook) पर भेजता है और प्रकाशित पता लौटाता है।
MCP सर्वर
पता: https://autoaiseo.example/mcp — Streamable HTTP ट्रांसपोर्ट (JSON रिस्पॉन्स)। प्रोटोकॉल वर्ज़न: 2026-07-28 और हैंडशेक वाले पुराने वर्ज़न (2025-11-25, 2025-06-18, 2025-03-26).
ऑथेंटिकेशन इन दो में से किसी एक तरीके से होता है:
- OAuth — Claude और ChatGPT जैसे कनेक्टर में पता जोड़ने पर AutoAiSeo लॉगिन और अनुमति पेज खोलता है; API कुंजी की ज़रूरत नहीं। कनेक्शन को आप डैशबोर्ड में कनेक्टेड ऐप्स से हटा सकते हैं।
- API कुंजी — Cursor, Claude Code, VS Code जैसे क्लाइंट में
Authorization: Bearer rk_live_…हेडर के साथ।
Claude
सेटिंग्स → कनेक्टर्स → कस्टम कनेक्टर जोड़ें खोलें, URL के रूप में MCP पता पेस्ट करें और कनेक्ट करें पर क्लिक करें।
ChatGPT
सेटिंग्स → ऐप्स और कनेक्टर्स → एडवांस्ड सेटिंग्स में डेवलपर मोड चालू करें, कनेक्टर बनाएँ से MCP पता और OAuth ऑथेंटिकेशन चुनें।
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 टूल्स
टूल के नतीजों में एक छोटा टेक्स्ट सारांश और उसी डेटा का स्ट्रक्चर्ड रूप (structuredContent) होता है। लिखने वाले टूल सिर्फ़ तभी दिखते हैं जब लिखने की अनुमति दी गई हो।
| टूल | क्या करता है |
|---|---|
list_sites | साइटें और सारांश मेट्रिक; दूसरे टूल के लिए site_id. |
site_overview | साइट प्रोफ़ाइल, मेट्रिक्स, लेखों की संख्या, बैकलिंक नेटवर्क सारांश। |
site_progress | किसी अवधि की प्रगति रिपोर्ट (शुरुआत और अब, माइलस्टोन)। |
list_articles | लेख; स्थिति और टेक्स्ट फ़िल्टर, पेजिनेटेड। |
get_article | लेख का कंटेंट (markdown/HTML), स्कोर, लिंक, FAQ। |
list_keywords | कीवर्ड और उन्हें कवर करने वाले लेख। |
backlink_report | बैकलिंक नेटवर्क रिपोर्ट और मिले हुए लिंक। |
services_history | AutoAiSeo द्वारा किए गए कामों का ब्योरा। |
add_article_idea yazma | कंटेंट प्लान में लेख का आइडिया जोड़ता है। |
generate_article yazma | लेख लिखवाता है (कोटा से घटता है)। |
publish_article yazma | लेख प्रकाशित करता है। |
OAuth (MCP क्लाइंट डेवलपर्स के लिए)
AutoAiSeo में MCP ऑथराइज़ेशन स्पेसिफ़िकेशन के अनुरूप एक छोटा OAuth 2.1 ऑथराइज़ेशन सर्वर शामिल है।
| संरक्षित रिसोर्स मेटाडेटा | /.well-known/oauth-protected-resource (और /mcp जोड़ा गया रूप) |
| ऑथराइज़ेशन सर्वर मेटाडेटा | /.well-known/oauth-authorization-server |
| क्लाइंट रजिस्ट्रेशन | Client ID Metadata Documents (https client_id) या डायनेमिक रजिस्ट्रेशन: POST /oauth/register (सिर्फ़ पब्लिक क्लाइंट, token_endpoint_auth_method: none) |
| ऑथराइज़ेशन | GET /oauth/authorize — response_type=code, PKCE S256 zorunlu, resource (RFC 8707), रिस्पॉन्स में iss (RFC 9207) |
| कुंजी | POST /oauth/token — authorization_code और refresh_token |
| रद्द करें | POST /oauth/revoke (RFC 7009) |
| स्कोप | read, write (write में read भी शामिल है)। यूज़र सहमति स्क्रीन पर लेवल चुनता है। |
- रीडायरेक्ट पते https या
localhost/127.0.0.1होने चाहिए और हूबहू मेल खाने चाहिए (लूपबैक पतों पर पोर्ट कुछ भी हो सकता है)। - ऑथराइज़ेशन कोड 2 मिनट के लिए मान्य है और सिर्फ़ एक बार इस्तेमाल हो सकता है; दूसरी बार इस्तेमाल करने पर उस कनेक्शन के सभी टोकन रद्द हो जाते हैं।
- एक्सेस टोकन 1 घंटे और रिफ़्रेश टोकन 30 दिन के लिए मान्य है। हर इस्तेमाल पर रिफ़्रेश टोकन बदल जाता है; पुराना रिफ़्रेश टोकन दोबारा इस्तेमाल करने पर कनेक्शन बंद हो जाता है।
- एक्सेस टोकन सिर्फ़ MCP सर्वर के लिए जारी किए जाते हैं; REST API के लिए पर्सनल API कुंजी चाहिए।
- अपर्याप्त स्कोप पर
403औरWWW-Authenticate: Bearer error="insufficient_scope", scope="read write"लौटता है।
प्राइवेसी
डैशबोर्ड में दिखने वाले API गतिविधि लॉग में सिर्फ़ मेथड, पाथ, स्टेटस कोड, अवधि, कुंजी का दिखने वाला शुरुआती हिस्सा (या OAuth ऐप का नाम) और समय होता है। अनुरोध और रिस्पॉन्स का कंटेंट और IP पते लॉग नहीं किए जाते; हर अकाउंट के लिए आख़िरी 1,000 अनुरोध रखे जाते हैं।