Get a domain's historical ranking overview
Return a monthly time series of a domain's organic and paid ranking distribution and estimated traffic since 2019, for trend and seasonality analysis.
Pricing — $$$ · min $0.50
Minimum 500 credits ($0.50) 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
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.
Request 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/competitors/historical-rank-overview" \ -H "Content-Type: application/json" \ -d '{ "target": "string" }'{ "request_id": "string", "data": { "target": "string", "location": "string", "language": "string", "view": "summary", "results": [ { "year": 0, "month": 0, "organic": { "count": 0, "etv": 0, "estimated_paid_traffic_cost": 0, "pos_1": 0, "pos_2_3": 0, "pos_4_10": 0, "pos_11_20": 0, "pos_21_30": 0, "pos_31_40": 0, "pos_41_50": 0, "pos_51_60": 0, "pos_61_70": 0, "pos_71_80": 0, "pos_81_90": 0, "pos_91_100": 0, "is_new": 0, "is_up": 0, "is_down": 0, "is_lost": 0 }, "paid": { "count": 0, "etv": 0, "estimated_paid_traffic_cost": 0, "pos_1": 0, "pos_2_3": 0, "pos_4_10": 0, "pos_11_20": 0, "pos_21_30": 0, "pos_31_40": 0, "pos_41_50": 0, "pos_51_60": 0, "pos_61_70": 0, "pos_71_80": 0, "pos_81_90": 0, "pos_91_100": 0, "is_new": 0, "is_up": 0, "is_down": 0, "is_lost": 0 } } ] }, "billing": { "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}