Page Content & SEO Data API

SEO API documentation for REST and MCP, generated from the implemented API contract.

API selector
Website & On-Page SEO

API overview

Bounded page evidence with separate collection snapshots and missing reasons. Calls are idempotent by user, slug and UUID key. Free owner-only result retrieval: GET /api/API-api/v1/APIs/seo-page-evidence/calls/{callId} or nexscope_seo_call_result. Evidence is retained for seven days. Missing values are not zero. Examples describe structure only and are not measured results.

Try this API
Endpoint
/api/skill-api/v1/skills/seo-page-evidence/run
MCP method
nexscope_seo_page_evidence

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .
POST/api/skill-api/v1/skills/seo-page-evidence/run

Run an API

Send a JSON request body using the parameters described below.

Slugseo-page-evidence
HeadersAuthorization: Bearer nk_...
Content-Type: application/json
Request bodyAPI-specific JSON object.
Response bodyComplete HTTP envelope, including code and data.

Status codes

CodeDescription
200API executed successfully. Body is the direct response payload.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Example request

curl -X POST https://api.nexscope.ai/api/skill-api/v1/skills/seo-page-evidence/run \
  -H "Authorization: Bearer nk_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{   "url": "example" }'
All categories/ Website & On-Page SEO
POST/api/skill-api/v1/skills/seo-page-evidence/run

Run this API

Send a JSON request to execute this API and receive the documented response payload.

Endpoint

MethodPOST
Path/api/skill-api/v1/skills/seo-page-evidence/run
AuthBearer API key
Content-Typeapplication/json

Request body

NameTypeRequiredDescription
urlstringrequired
Public HTTP(S) URL only; no credentials, IP literals or nonstandard ports.
Minimum length: 1
Maximum length: 2048

Request example

{
  "url": "example"
}

Response body

NameTypeRequiredDescription
codeintegerrequired
0 is a successful envelope; inspect data.status separately.
Allowed: 0, 42008, 42009
coststringrequired
Elapsed processing milliseconds; not price. -1 for non-web context.
dataobjectrequired
Data value used by this API operation.
data.callIdstringoptional
Call id value used by this API operation.
Format: uuid
data.completedAtinteger | nulloptional
UTC epoch milliseconds.
data.coverageobjectoptional
Coverage value used by this API operation.
data.coverage.missingarrayoptional
Missing value used by this API operation.
data.coverage.missing[]objectrequired
Item in data coverage missing.
data.coverage.missing[].fieldstringoptional
Field value used by this API operation.
data.coverage.missing[].reasonstringoptional
Reason value used by this API operation.
data.coverage.statusstringoptional
Status value used by this API operation.
data.reasonstringoptional
Stable reason on errors 42001 through 42011; accepted errors retain callId.
data.requestedAtinteger | nulloptional
UTC epoch milliseconds.
data.resultobject | nullrequired
Result value used by this API operation.
data.result.requestedUrlstring | nulloptional
Requested url value used by this API operation.
data.result.snapshotsarrayoptional
Snapshots value used by this API operation.
data.result.snapshots[]objectrequired
Item in data result snapshots.
data.result.snapshots[].capturedAtinteger | nulloptional
Captured at value used by this API operation.
data.result.snapshots[].evidenceanyoptional
Evidence value used by this API operation.
data.result.snapshots[].finalUrlstring | nulloptional
Final url value used by this API operation.
data.result.snapshots[].idstring | nulloptional
Id value used by this API operation.
data.result.snapshots[].missingarrayoptional
Missing value used by this API operation.
data.result.snapshots[].missing[]objectrequired
Item in data result snapshots[] missing.
data.result.snapshots[].missing[].fieldstring | nulloptional
Field value used by this API operation.
data.result.snapshots[].missing[].reasonstring | nulloptional
Reason value used by this API operation.
data.result.snapshots[].sourceEndpointstring | nulloptional
Source endpoint value used by this API operation.
data.result.snapshots[].statusstring | nulloptional
Status value used by this API operation.
data.retryablebooleanoptional
Retryable value used by this API operation.
Constant: false
data.schemaVersionstringoptional
Schema version value used by this API operation.
Constant: 1.0
data.sourcestringoptional
Source value used by this API operation.
Constant: dataforseo
data.statusstringoptional
Status value used by this API operation.
Allowed: SUCCESS, PARTIAL, EMPTY, PROCESSING, UNKNOWN, FAILED
data.usageobjectoptional
Usage value used by this API operation.
data.usage.billingStatusstringoptional
Billing status value used by this API operation.
data.usage.chargedCreditsinteger | nulloptional
Charged credits value used by this API operation.
data.usage.providerCostStatusstringoptional
Provider cost status value used by this API operation.
data.usage.providerCostUsdstring | nulloptional
Provider cost usd value used by this API operation.
data.usage.providerRequestsintegeroptional
Provider requests value used by this API operation.
msgstring | nullrequired
Msg value used by this API operation.
timestringrequired
yyyy-MM-dd HH:mm:ss
traceIdstring | nullrequired
Trace id value used by this API operation.
tsstringrequired
Epoch milliseconds; global long serializer.

Any of option 1

NameTypeRequiredDescription
data.result.snapshots[].evidenceobjectoptional
Evidence value used by this API operation.
data.result.snapshots[].evidence.canonicalstring | nulloptional
Canonical value used by this API operation.
data.result.snapshots[].evidence.descriptionstring | nulloptional
Description value used by this API operation.
data.result.snapshots[].evidence.h1arrayoptional
H1 value used by this API operation.
data.result.snapshots[].evidence.h1[]string | nullrequired
Item in data result snapshots[] evidence h1.
data.result.snapshots[].evidence.htmlobjectoptional
Html value used by this API operation.
data.result.snapshots[].evidence.html.contentstring | nulloptional
Content value used by this API operation.
data.result.snapshots[].evidence.html.sha256string | nulloptional
Sha256 value used by this API operation.
data.result.snapshots[].evidence.html.truncatedbooleanoptional
Truncated value used by this API operation.
data.result.snapshots[].evidence.httpStatusinteger | nulloptional
Http status value used by this API operation.
data.result.snapshots[].evidence.metaRobotsarrayoptional
Meta robots value used by this API operation.
data.result.snapshots[].evidence.metaRobots[]string | nullrequired
Item in data result snapshots[] evidence metaRobots.
data.result.snapshots[].evidence.textLengthinteger | nulloptional
Text length value used by this API operation.
data.result.snapshots[].evidence.titlestring | nulloptional
Title value used by this API operation.

Any of option 2

NameTypeRequiredDescription
data.result.snapshots[].evidenceobjectoptional
Evidence value used by this API operation.
data.result.snapshots[].evidence.linksarrayoptional
Links value used by this API operation.
data.result.snapshots[].evidence.links[]objectrequired
Item in data result snapshots[] evidence links.
data.result.snapshots[].evidence.links[].textstring | nulloptional
Text value used by this API operation.
data.result.snapshots[].evidence.links[].urlstring | nulloptional
Url value used by this API operation.
data.result.snapshots[].evidence.linksTruncatedbooleanoptional
Links truncated value used by this API operation.
data.result.snapshots[].evidence.textstring | nulloptional
Text value used by this API operation.
data.result.snapshots[].evidence.textTruncatedbooleanoptional
Text truncated value used by this API operation.
data.result.snapshots[].evidence.titlestring | nulloptional
Title value used by this API operation.

Response example

Example response envelope from the documented SEO API contract.

{
  "code": 0,
  "cost": "-1",
  "data": {
    "callId": "synthetic-call",
    "completedAt": null,
    "coverage": {
      "missing": [
        {
          "field": "synthetic",
          "reason": "UPSTREAM_FIELD_MISSING"
        }
      ],
      "status": "PARTIAL"
    },
    "requestedAt": 123,
    "result": {
      "requestedUrl": "synthetic",
      "snapshots": [
        {
          "capturedAt": 9007199254740992,
          "evidence": null,
          "finalUrl": "synthetic",
          "id": "synthetic",
          "missing": [
            {
              "field": "synthetic",
              "reason": "synthetic"
            }
          ],
          "sourceEndpoint": "synthetic",
          "status": "synthetic"
        }
      ]
    },
    "schemaVersion": "synthetic",
    "source": "synthetic",
    "status": "PARTIAL",
    "usage": {
      "billingStatus": "UNAPPROVED",
      "chargedCredits": 0,
      "providerCostStatus": "UNAPPROVED",
      "providerCostUsd": null,
      "providerRequests": 0
    }
  },
  "msg": null,
  "time": "2026-01-01 00:00:00",
  "traceId": null,
  "ts": "9007199254740993"
}

Responses

CodeDescription
200API executed successfully. Body is the direct response payload.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Data source, freshness, and limitations

Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.

MCP

Use the MCP endpoint when an agent needs to discover and call API tools with JSON-RPC.

GET /api/skill-api/v1/mcp
POST /api/skill-api/v1/mcp
Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Content-Type: application/json

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_seo_page_evidence",
    "arguments": {
      "url": "example"
    }
  }
}

Online test

Execute the current API with your API key and JSON payload.

Try it

Send a real request with the same contract shown in the reference.

Endpoint
/api/skill-api/v1/skills/seo-page-evidence/run
MCP method
nexscope_seo_page_evidence
cURL
curl -X POST \
  https://api.nexscope.ai/api/skill-api/v1/skills/seo-page-evidence/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "url": "example" }'
Response
No response yet. Run the request to see the response here.