Which API for which job (master router)

The job-to-be-done decision table: pick the DataForSEO module/endpoint for the task in front of you. Sits under DataForSEO BrainDecisions.

Overview

DataForSEO exposes 12 modules under one v3 envelope (cap-platform-architecture). The common failure mode is reaching for live SERP when a cheaper pre-indexed Labs query would do, or polling raw REST when a bulk endpoint exists. This page maps jobs to endpoints. Two cross-cutting choices ride on top of every row: pre-indexed vs live (dec-labs-vs-live-apis) and Live vs Standard vs Priority (dec-live-vs-standard-vs-priority).

Decision table (job → module / endpoint)

Job to be doneModule / endpointWhy this one
Read a live ranking SERP for a keywordSERP API /v3/serp/google/organic/live/advancedFresh, full structured parse; ~$0.002/live SERP (cap-serp-api)
Track AI Overview / AI Mode presenceSERP API ai_overview element + /v3/serp/google/ai_modeDedicated AI-search surfaces (cap-serp-google-verticals)
Get raw search volume / CPCKeywords Data /v3/keywords_data/google_ads/search_volume/liveGoogle Ads lineage; ~$0.075/call (cap-keywords-data-api)
Find keyword ideas/suggestions/relatedLabs /v3/dataforseo_labs/google/keyword_ideas/live (and suggestions, related)Pre-indexed, ~$0.0105/call (cap-labs-keyword-research)
Score keyword difficulty in bulkLabs /v3/dataforseo_labs/google/bulk_keyword_difficulty/liveUp to 1,000 keywords per billable task
Classify search intentLabs /v3/dataforseo_labs/google/search_intent/liveCheap (~$0.0011/call observed) intent labels
Find competitors / ranked keywords / gapsLabs serp_competitors, ranked_keywords, domain_intersectionPre-indexed competitor research (cap-labs-competitor-research)
Estimate domain traffic in bulkLabs /v3/dataforseo_labs/google/bulk_traffic_estimation/liveUp to 1,000 domains per task
Audit a site’s on-page healthOnPage API (crawl) + /v3/on_page/instant_pagesCrawler + per-URL instant checks (cap-onpage-api)
Analyze a backlink profileBacklinks /v3/backlinks/summary/live, referring_domains, anchorsOwn crawler index (cap-backlinks-api)
Bulk link/spam metrics for many targetsBacklinks bulk_ranks, bulk_spam_score (≤1000 targets)One billable task, many results (cap-backlinks-bulk-metrics)
Detect a site’s tech stack / WhoisDomain Analytics technologies, whois/overviewStack + registration intel (cap-domain-analytics)
Product / price / review dataMerchant /v3/merchant/google/products/live/advanced (+ Amazon)Shopping & Amazon (cap-merchant-api)
App store / ASO dataApp Data API (Google Play + App Store)Listings, reviews, ASO (cap-app-data-api)
Reviews / listings / GBPBusiness Data /v3/business_data/business_listings/search/liveReputation surfaces (cap-business-data-api)
Track brand mentions in AI answersAI Optimization llm_mentions, llm_responsesCross-model visibility (cap-llm-mentions-visibility)
Sentiment / citation analysis over a corpusContent Analysis search, summaryCitation DB (cap-content-analysis-api)
Cheap historical/analytical lookupsDataForSEO Labs / DatabasesPre-indexed, no live crawl (cap-databases)

Decision rules

  • If the query does NOT need the last 24-48h of fresh SERP data, serve it from Labs/Databases, not live SERP.
  • If you can express the job as “N items in one call,” prefer a bulk endpoint (≤1000 keywords/domains/targets) to cut billable tasks.
  • For agent-native, conversational access to any of the above, route through cap-mcp-server-integration rather than hand-wiring REST - see dec-mcp-vs-raw-rest.
  • DataForSEO Labs is Live-only; SERP/Merchant/Business Data support both Live and Standard.

When to use / how it fits

Gotchas / limits

  • Endpoint paths and costs above are quoted from this brain’s own runs and the official pricing pages; verify on your live invoice before scaling.
  • Some jobs have both a live and a pre-indexed path (e.g. SERP vs Labs ranked_keywords) - picking wrong is the main cost leak.
  • Several endpoints returned task-level errors in testing. The 40204 seen on Backlinks in the 2026-06-26 run is legacy after the 2026-07-01 pay-as-you-go move, while 40402 on merchant still needs path handling. Handle per cap-status-error-codes.

Worked examples

  • “Rank-track 500 keywords daily” SERP Standard High + webhooks, store time series (play-rank-tracking-pipeline).
  • “Build a keyword map for a new site” Labs keyword_ideas/suggestions/related + bulk_keyword_difficulty + search_intent (play-keyword-research-workflow).
  • “Audit a prospect’s backlinks” Backlinks summary + referring_domains + new/lost + bulk_spam_score (play-backlink-audit).
  • “Find content gaps vs a competitor” Labs domain_intersection + ranked_keywords + Backlinks intersection (play-competitor-gap-analysis).

Sources