---
title: "Analyze SERP"
method: POST
path: "/analyze/serp"
---

# Analyze SERP

`POST /analyze/serp`

## Request

- Base URL: `https://www.agentseo.dev/api/v1`
- URL: `https://www.agentseo.dev/api/v1/analyze/serp`
- Auth: API key in header `x-api-key`

## Query parameters

- `sync` boolean

## Headers

- `x-project-id` string
- `x-workflow-id` string

## Request body

- AnalyzeSerpParams
  - `keyword` string, required
  - `location` string
  - `location_code` integer: Optional search location code for deterministic geo-targeting.
  - `device` 'desktop' | 'mobile'
  - `language` string

## Response `200`

Completed SERP analysis primitive with serp_opportunity

- AnalyzeSerpResponse
  - `items` object[]
  - `search_parameters` object
  - `serp_features` object[]
  - `keyword_metrics` object, nullable
  - `serp_opportunity` SerpOpportunity
    - `summary` string
    - `likely_intent` 'informational' | 'commercial_investigation' | 'transactional' | 'local'
    - `competition_level` 'high' | 'medium' | 'low'
    - `dominant_features` string[]
    - `recommended_content_format` 'answer_page' | 'comparison_page' | 'guide' | 'local_landing_page' | 'service_page'
    - `top_domains` string[]
    - `recommended_next_calls` AgentWorkflowNextCall[]
      - `endpoint` string
      - `reason` string
    - `confidence` number
  - `markdown_summary` string

## Other responses

- `202`: Job queued or still processing

---

[API](https://skmtc.dev/agentseo/apis/agentseo-api.md) · [All operations](https://skmtc.dev/agentseo/apis/agentseo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentseo/apis/agentseo-api/revisions/53a62da6f92c?raw)
