DataForSEO proxy API
Call DataForSEO SERP and keyword APIs with your CallAI key. Share one USD wallet with LLM usage — no separate DataForSEO signup or foreign card.
Endpoints & billing
| Type | Path | Billing | Use case |
|---|---|---|---|
| Live SERP | /dataforseo/v3/serp/google/organic/live/advanced | Per live request | Realtime rank tracking |
| Async task_post | /dataforseo/v3/serp/google/organic/task_post | Per task submit | Large offline keyword scans |
| task_get poll | /dataforseo/v3/serp/google/organic/task_get/advanced | Free forever | Poll until async results are ready |
Python: Google organic top 10
import requests
url = "https://api.callaiapi.com/dataforseo/v3/serp/google/organic/live/advanced"
headers = {
"Authorization": "Bearer sk-live-your-callai-key",
"Content-Type": "application/json"
}
payload = [
{
"keyword": "best ai coding ide 2026",
"location_code": 2840, # United States
"language_code": "en",
"depth": 10
}
]
response = requests.post(url, headers=headers, json=payload).json()
items = response["tasks"][0]["result"][0]["items"]
for item in items:
if item.get("type") == "organic":
print(f"[{item.get('rank_group')}] {item.get('title')}")
print(f" URL: {item.get('url')}")
print(f" Domain: {item.get('domain')}\n")🔒Whitelist billing & free polling
Only live and task_post calls that incur upstream cost are charged. task_get polling is never billed. Ledger precision is six decimal places in PostgreSQL.
Need to extract unique domains from bulk URLs?
Use the free domain extractor to dedupe root domains.