one-api.ai

Page audit API

The page audit API fetches one public URL and returns its on-page SEO signals as JSON, so a script, agent or spreadsheet can check titles and tags without running a crawler.

Early access: billing is not open yet. Prices below are what a call will debit when it opens. Request access →

Price: $0.001 per call (one credit), with 25 free lookups per account each UTC month. Data source: the caller URL after that host's robots.txt.

Request

Send POST /v1/page-audit with a JSON body and your key in the Authorization: Bearer header. Send a public http or https URL. The JSON names the title, meta description, canonical, robots meta, headings, hreflang, JSON-LD types, and internal and external link counts. A robots disallow returns HTTP 403 and does not fetch the page.

curl https://one-api.ai/v1/page-audit \
  -H "Authorization: Bearer $ONE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/"}'
import os, requests

resp = requests.post(
    "https://one-api.ai/v1/page-audit",
    headers={"Authorization": f"Bearer {os.environ['ONE_API_TOKEN']}"},
    json={"url":"https://example.com/"},
    timeout=30,
)
print(resp.status_code, resp.json())

Response fields

FieldMeaning
final_urlThe URL after redirects (up to five hops).
statusHTTP status of the final response.
titleText of the title element, or null.
meta_descriptionContent of the meta description, or null.
canonicalThe rel=canonical URL, resolved against the final URL, or null.
robots_metaContent of the robots meta tag, or null.
headingsArrays of h1, h2 and h3 text.
hreflangEach alternate link with its language and absolute URL.
json_ld_typesThe @type values found in JSON-LD blocks.
linksCounts of internal and external links.
truncatedTrue when the page was larger than 1 MiB and only the first 1 MiB was read.

Limits and behaviour

Errors come back as JSON with an HTTP status and a short code. HTTP 400 means the input was refused, 401 a missing or bad key, 402 an empty balance, 429 a rate limit and 502 an upstream failure. Calls that end in 400 or a 5xx status are not charged.

What people use it for

The same lookup is available to AI agents through the remote MCP server at https://one-api.ai/mcp, using the same key and the same price per call.

FAQ

Does the page audit render JavaScript?

No. It parses the HTML returned by the server, which is also what most crawlers see on the first pass.

Why did I get HTTP 403?

The site's robots.txt disallows that path. We respect it and do not fetch the page.

Is a failed audit charged?

A call that returns HTTP 400 or a 5xx error releases its lookup, so it is not charged.

Related

Last updated 2026-10-31.