Collect organic SERP SEO evidence
Run one live organic SERP check for SEO optimization evidence, including target visibility, competitor domains, rich SERP features, normalized per-result checks, People Also Ask context, AI Overview presence, and optional pixel ranking data.
Pricing — $ · min $0.01
Minimum 10 credits ($0.01) per call. Records returned above the minimum bill 1 credit ($0.001) each.
Authorization
bearerAuth UnifAPI API key. Provider credentials are managed by UnifAPI.
In: header
Header Parameters
Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md
"2026-07-01"Value in
- "2026-07-01"
Client-supplied unique key that makes a write request safe to retry. If a request with the same key was already processed, the original response is replayed (with Idempotency-Replayed: true) instead of executing — and billing — again. Send a fresh UUID per logical operation. Best-effort with a 24h window.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/seo/serp" \ -H "Content-Type: application/json" \ -d '{ "query": "string" }'{ "request_id": "string", "data": { "query": "string", "location": "string", "language": "string", "device": "desktop", "os": "windows", "view": "summary", "rank_window": { "page": 0, "depth": 0, "start_rank": 0, "end_rank": 0, "rank_offset": 0 }, "observed_at": "string", "search_url": "string", "total_results": 0, "serp_features": [ "string" ], "summary": { "organic_results": 0, "billable_results": 0, "rich_results": 0, "paid_results": 0, "feature_counts": { "property1": 0, "property2": 0 }, "check_counts": { "property1": 0, "property2": 0 }, "target_present": true, "target_best_rank": 0 }, "questions": [ { "question": "string", "rank": 0, "source": "people_also_ask" } ], "results": [ { "rank": 0, "source_rank": 0, "group_rank": 0, "type": "string", "title": "string", "url": "string", "domain": "string", "snippet": "string", "text": "string", "markdown": "string", "breadcrumb": "string", "page": 0, "position": null, "rectangle": null, "is_paid": true, "is_billable": true, "is_target": true, "questions": [ "string" ], "checks": [ "string" ], "nested_items": [ null ], "extras": { "property1": null, "property2": null } } ], "target": { "value": "string", "domain": "string", "present": true, "best_rank": 0, "matches": [ { "rank": 0, "type": "string", "title": "string", "url": "string", "domain": "string" } ] }, "competitors": [ { "domain": "string", "best_rank": 0, "result_count": 0 } ] }, "billing": { "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true }}