SEO

Get historical SERP snapshots for a keyword · SEO API

POST/seo/competitors/historical-serps
$$min $0.05

Return historical snapshots of the SERP composition for a keyword since 2019, summarizing how many results and which SERP feature types appeared over time.

Request
curl https://api.unifapi.com/seo/competitors/historical-serps \
  -H "Authorization: Bearer $UNIFAPI_KEY"
Overview

This operation is part of the SEO API in the seo category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.

Use it when a workflow needs SEO public data but should still keep one API key, one account balance, and one predictable JSON contract across social, live public-data sources.

Common agent workflows

  • Track what is moving on SEO for trend-discovery and content-planning agents.
  • Compare live SEO signals with other public social data sources available through the same MCP and HTTP surface.
  • Give an AI agent a stable SEO data source without building a per-platform integration.
  • Normalize SEO responses into the same UnifAPI envelope used across the catalog.
Response shape

Unified envelope, platform-native fields

  • List-style responses return `data` as an array of top-level records plus optional `pagination` for continuation tokens or cursors.
  • The operation has a 50 credits ($0.05) minimum charge, so `billing.records_charged` can be higher than the visible records returned.
  • If the workspace balance cannot cover every result, the response can be truncated and `billing.truncated_due_to_balance` tells the caller why.

Billing

This operation charges 1 credit per billable record, with a 50 credits ($0.05) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Platform-caused failures can be refunded.

Errors and retries

Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.