{"slug":"dataforseo-serp","title":"DataForSEO SERP API — Real-Time Search Result Data","tags":["seo","serp","dataforseo","api","competitive-analysis"],"agent_summary":"Uses DataForSEO's SERP endpoints to pull real-time organic results, featured snippets, PAA, local packs, knowledge panels, and shopping results for any keyword and location.","trigger_phrases":["DataForSEO SERP","SERP API","search results API","SERP data","organic rankings API","PAA API","local pack data API","featured snippet data API"],"runnable":true,"markdown":"\n## DataForSEO SERP API Overview\n\nDataForSEO's SERP API provides real-time and task-based Google search result data for any keyword and location combination. It captures the full SERP including organic results, PAA, featured snippets, local packs, knowledge panels, and shopping results.\n\n**API group:** SERP\n**Primary endpoint base:** `https://api.dataforseo.com/v3/serp/google/`\n\n## Core SERP Endpoints\n\n### Google Organic Results (Live)\n\nPOST to `https://api.dataforseo.com/v3/serp/google/organic/live/regular`\n\nReturns for each result:\n- `position` — organic rank (1-100)\n- `url` — result URL\n- `title` — page title\n- `description` — meta description\n- `domain` — root domain\n- `breadcrumb` — breadcrumb URL path shown in SERP\n- `is_featured_snippet` — boolean\n- `rank_absolute` — absolute position in SERP including all result types\n\nRate limit: 30 requests/minute on standard tier.\n\nRequest format:\n```json\n[\n  {\n    \"keyword\": \"roof replacement tampa fl\",\n    \"location_code\": 1023191,\n    \"language_code\": \"en\",\n    \"depth\": 100\n  }\n]\n```\n\n### PAA Data\n\nPAA questions are nested inside the organic SERP response. Look for `type: \"people_also_ask\"` items in the `items` array. Each PAA item includes:\n- `question` — the PAA question text\n- `expanded_element` — the featured answer if expanded\n- `source_url` — where the answer comes from\n\n### Features Present in SERP\n\nCheck `se_results_count` and the `items` array for:\n- `featured_snippet` — is there a featured snippet?\n- `local_pack` — is there a local 3-pack?\n- `knowledge_graph` — is there a knowledge panel?\n- `shopping` — are there shopping results?\n\nUse feature detection to determine what type of content to produce. Local pack present = local SEO signals needed. Featured snippet present = answer-capsule format needed.\n\n### Local Pack Data\n\nFor queries with local intent, the SERP API returns local pack entries under `type: \"local_pack\"`:\n- Business name\n- Rating and review count\n- Address\n- Category\n- Website URL\n\nUse this to audit client's local pack visibility vs. competitors.\n\n## Task-Based vs. Live Requests\n\n**Live requests:** Immediate response, higher cost. Use for single queries or small batches.\n\n**Task-based requests:** Submit tasks, poll for completion, retrieve results. Lower cost. Use for batch processing of 50+ keywords.\n\nTask submission: POST to `.../task_post`\nTask retrieval: GET from `.../task_get/{task_id}`\n\n## SERP Data Workflow\n\n1. Identify target keywords (from `dataforseo-keywords` or `keyword-researcher`)\n2. Submit SERP task for each keyword at target location\n3. Parse results for: top 10 URLs, featured snippet presence, PAA questions, local pack presence\n4. For each URL in top 10: record title, description, breadcrumb\n5. Cross-reference with on-page data (via `dataforseo-onpage`) to understand what makes the top content strong\n6. Identify gaps: keywords where client ranks 11-30 (near the first page, highest leverage)\n\n## SERP Monitoring Setup\n\nEstablish baseline rankings before any optimization:\n1. Batch-submit all target keywords to SERP API\n2. Record initial positions for client domain\n3. Schedule weekly re-checks via `dataforseo-rank-tracking`\n4. Alert when position changes by 5+ positions\n\n## Integration with Other DataForSEO Endpoints\n\n| Use Case | SERP + |\n|----------|--------|\n| Understand why #1 ranks | `dataforseo-onpage` to audit the top URL |\n| Find keyword volume for SERP keywords | `dataforseo-keywords` Overview |\n| Track local pack visibility | `dataforseo-gmb` for GMB data |\n| Monitor AI mentions | `dataforseo-llm-mentions` |\n\n## Cross-References\n\n- `dataforseo-keywords` — volume data for keywords identified in SERP analysis\n- `dataforseo-onpage` — on-page analysis of SERP-competitive URLs\n- `serp-intent-analyzer` — broader SERP mining methodology\n- `keyword-researcher` — SERP mode consumes DataForSEO SERP data\n\n#seo-sop #seo #serp #dataforseo #api #competitive-analysis\n","html":"<h2>DataForSEO SERP API Overview</h2>\n<p>DataForSEO's SERP API provides real-time and task-based Google search result data for any keyword and location combination. It captures the full SERP including organic results, PAA, featured snippets, local packs, knowledge panels, and shopping results.</p>\n<p><strong>API group:</strong> SERP\n<strong>Primary endpoint base:</strong> <code>https://api.dataforseo.com/v3/serp/google/</code></p>\n<h2>Core SERP Endpoints</h2>\n<h3>Google Organic Results (Live)</h3>\n<p>POST to <code>https://api.dataforseo.com/v3/serp/google/organic/live/regular</code></p>\n<p>Returns for each result:</p>\n<ul>\n<li><code>position</code> — organic rank (1-100)</li>\n<li><code>url</code> — result URL</li>\n<li><code>title</code> — page title</li>\n<li><code>description</code> — meta description</li>\n<li><code>domain</code> — root domain</li>\n<li><code>breadcrumb</code> — breadcrumb URL path shown in SERP</li>\n<li><code>is_featured_snippet</code> — boolean</li>\n<li><code>rank_absolute</code> — absolute position in SERP including all result types</li>\n</ul>\n<p>Rate limit: 30 requests/minute on standard tier.</p>\n<p>Request format:</p>\n<pre><code class=\"language-json\">[\n  {\n    \"keyword\": \"roof replacement tampa fl\",\n    \"location_code\": 1023191,\n    \"language_code\": \"en\",\n    \"depth\": 100\n  }\n]\n</code></pre>\n<h3>PAA Data</h3>\n<p>PAA questions are nested inside the organic SERP response. Look for <code>type: \"people_also_ask\"</code> items in the <code>items</code> array. Each PAA item includes:</p>\n<ul>\n<li><code>question</code> — the PAA question text</li>\n<li><code>expanded_element</code> — the featured answer if expanded</li>\n<li><code>source_url</code> — where the answer comes from</li>\n</ul>\n<h3>Features Present in SERP</h3>\n<p>Check <code>se_results_count</code> and the <code>items</code> array for:</p>\n<ul>\n<li><code>featured_snippet</code> — is there a featured snippet?</li>\n<li><code>local_pack</code> — is there a local 3-pack?</li>\n<li><code>knowledge_graph</code> — is there a knowledge panel?</li>\n<li><code>shopping</code> — are there shopping results?</li>\n</ul>\n<p>Use feature detection to determine what type of content to produce. Local pack present = local SEO signals needed. Featured snippet present = answer-capsule format needed.</p>\n<h3>Local Pack Data</h3>\n<p>For queries with local intent, the SERP API returns local pack entries under <code>type: \"local_pack\"</code>:</p>\n<ul>\n<li>Business name</li>\n<li>Rating and review count</li>\n<li>Address</li>\n<li>Category</li>\n<li>Website URL</li>\n</ul>\n<p>Use this to audit client's local pack visibility vs. competitors.</p>\n<h2>Task-Based vs. Live Requests</h2>\n<p><strong>Live requests:</strong> Immediate response, higher cost. Use for single queries or small batches.</p>\n<p><strong>Task-based requests:</strong> Submit tasks, poll for completion, retrieve results. Lower cost. Use for batch processing of 50+ keywords.</p>\n<p>Task submission: POST to <code>.../task_post</code>\nTask retrieval: GET from <code>.../task_get/{task_id}</code></p>\n<h2>SERP Data Workflow</h2>\n<ol>\n<li>Identify target keywords (from <code>dataforseo-keywords</code> or <code>keyword-researcher</code>)</li>\n<li>Submit SERP task for each keyword at target location</li>\n<li>Parse results for: top 10 URLs, featured snippet presence, PAA questions, local pack presence</li>\n<li>For each URL in top 10: record title, description, breadcrumb</li>\n<li>Cross-reference with on-page data (via <code>dataforseo-onpage</code>) to understand what makes the top content strong</li>\n<li>Identify gaps: keywords where client ranks 11-30 (near the first page, highest leverage)</li>\n</ol>\n<h2>SERP Monitoring Setup</h2>\n<p>Establish baseline rankings before any optimization:</p>\n<ol>\n<li>Batch-submit all target keywords to SERP API</li>\n<li>Record initial positions for client domain</li>\n<li>Schedule weekly re-checks via <code>dataforseo-rank-tracking</code></li>\n<li>Alert when position changes by 5+ positions</li>\n</ol>\n<h2>Integration with Other DataForSEO Endpoints</h2>\n<p>| Use Case | SERP + |\n|----------|--------|\n| Understand why #1 ranks | <code>dataforseo-onpage</code> to audit the top URL |\n| Find keyword volume for SERP keywords | <code>dataforseo-keywords</code> Overview |\n| Track local pack visibility | <code>dataforseo-gmb</code> for GMB data |\n| Monitor AI mentions | <code>dataforseo-llm-mentions</code> |</p>\n<h2>Cross-References</h2>\n<ul>\n<li><code>dataforseo-keywords</code> — volume data for keywords identified in SERP analysis</li>\n<li><code>dataforseo-onpage</code> — on-page analysis of SERP-competitive URLs</li>\n<li><code>serp-intent-analyzer</code> — broader SERP mining methodology</li>\n<li><code>keyword-researcher</code> — SERP mode consumes DataForSEO SERP data</li>\n</ul>\n<p>#seo-sop #seo #serp #dataforseo #api #competitive-analysis</p>\n"}