{"capability":"seo.serp","title":"Live SERP results","category":"seo","status":"live","sandbox":true,"description":"Live Google or Bing results for a keyword and location, with SERP features and AI Overview presence.","input_schema":{"type":"object","required":["keyword"],"properties":{"keyword":{"type":"string"},"location":{"type":"string","description":"City and country (\"Lisbon, Portugal\"), a country (\"France\") or a DataForSEO location code; default United States"},"language":{"type":"string","description":"Two-letter code or language name; default en"},"engine":{"type":"string","enum":["google","bing"],"default":"google"}}},"output_fields":["keyword","engine","results","total_results","serp_features","ai_overview_present"],"billing":{"unit":"per_search","bill_on_no_match":false},"providers":["dataforseo","apify"],"live_providers":["dataforseo","apify"],"platforms":["bing","google"],"offers":[{"provider":"dataforseo","mode":"platform_prepaid","provider_status":"live","executable":true,"wired":true,"verified":true,"platforms":["google","bing"],"verified_platforms":["google","bing"],"price":{"amount":"0.0026","currency":"USD","note":"measured margin over provider cost"},"health":{"status":"degraded","latency_ms_p50":4526},"pricing":{"currency":"USD","base":"0.0026","per_result":"0","default_limit":10}},{"provider":"apify","mode":"platform_prepaid","provider_status":"live","executable":true,"wired":true,"verified":true,"platforms":[],"verified_platforms":["*"],"price":{"amount":"0.00455","currency":"USD","note":"from $0.00455: varies by platform, see pricing.by_platform; the quote is max(minimum, base + per_result x limit), and run refuses it above max_cost"},"health":{"status":"stable","latency_ms_p50":20842},"pricing":{"currency":"USD","by_platform":{"*":{"base":"0.00455","per_result":"0","minimum":"0.001485"}}}}],"starting_price":{"amount":"0.0026","currency":"USD"},"waterfall":{"providers":["dataforseo","apify"],"max_cost_for_all":{"amount":"0.00455","currency":"USD"},"runs_every_provider":false,"note":"A miss is not charged: with max_cost at max_cost_for_all, each provider in turn tries until one finds, and you pay that one provider's price only when it finds. Prices are for one result or call; a larger limit quotes more."},"hints":["Use provider=\"auto\" for capabilities unless you deliberately need one provider. Pinning a provider disables cross-provider fallback even when allow_fallback=true. max_cost must cover each alternative’s full input-specific quote; a cheapest-route cap can exclude fallback."]}