Scan

Deep SEO scan (heavier analysis path) for a URL + keyword.

Deep 3-credit SEO scan with stronger competitor analysis: why a competitor outranks a URL, SERP/content-gap comparisons, related-entity density, structured-data coverage, common patterns across top-ranking pages, content briefs, and stronger strategic recommendations. Returns the full customer_v1 shape. Standard and Deep responses include structured_data_benchmarks and structured_data_coverage; Lite responses never include those fields. Deep responses MAY also include the optional serp_speed_benchmark field — head-to-head loading speed and visual stability of the target page and the top 3 organic competitors in the same SERP (LCP, CLS, approximate TBT, TTFB). Self-hosted; never calls Google PageSpeed Insights, CrUX, or Lighthouse. Clients must check for presence of optional Deep-only speed fields.

Supported region values

Pass any code from this table as region to target that country's Google SERP. The full list is also available at GET /v1/regions. googleDomain is informational only — crawls hit google.com with the gl parameter rather than the country-specific domain.

codenamegoogle domaingldefault locale
US🇺🇸 United Statesgoogle.comusen-US
CA🇨🇦 Canadagoogle.cacaen-CA
UK🇬🇧 United Kingdomgoogle.co.ukgben-GB
AU🇦🇺 Australiagoogle.com.auauen-AU
NZ🇳🇿 New Zealandgoogle.co.nznzen-NZ
ES🇪🇸 Spaingoogle.eseses-ES
DE🇩🇪 Germanygoogle.dedede-DE
IT🇮🇹 Italygoogle.ititit-IT
FR🇫🇷 Francegoogle.frfrfr-FR
IE🇮🇪 Irelandgoogle.ieieen-IE
NL🇳🇱 Netherlandsgoogle.nlnlnl-NL
CH🇨🇭 Switzerlandgoogle.chchde-CH
SE🇸🇪 Swedengoogle.sesesv-SE
NO🇳🇴 Norwaygoogle.nononb-NO
DK🇩🇰 Denmarkgoogle.dkdkda-DK
FI🇫🇮 Finlandgoogle.fififi-FI
ZA🇿🇦 South Africagoogle.co.zazaen-ZA
MX🇲🇽 Mexicogoogle.com.mxmxes-MX
BR🇧🇷 Brazilgoogle.com.brbrpt-BR
CO🇨🇴 Colombiagoogle.com.cocoes-CO
IN🇮🇳 Indiagoogle.co.ininen-IN
SG🇸🇬 Singaporegoogle.com.sgsgen-SG
MY🇲🇾 Malaysiagoogle.com.mymyms-MY
JP🇯🇵 Japangoogle.co.jpjpja-JP
KE🇰🇪 Kenyagoogle.co.kekeen-KE
AE🇦🇪 UAEgoogle.aeaear-AE
HK🇭🇰 Hong Konggoogle.com.hkhkzh-HK
post/v1/scan/deep

Headers

Idempotency-Keystring

Request body

urlstring uri
keywordstring required

Primary search keyword. Whitespace is normalized. Must be a concise search query: max 150 characters.

region'US' | 'CA' | 'UK' | 'AU' | 'NZ' | 'ES' | 'DE' | 'IT' | 'FR' | 'IE' | 'NL' | 'CH' | 'SE' | 'NO' | 'DK' | 'FI' | 'ZA' | 'MX' | 'BR' | 'CO' | 'IN' | 'SG' | 'MY' | 'JP' | 'KE' | 'AE' | 'HK'

Region code. Case-insensitive and trimmed on input. Use canonical uppercase codes in response bodies. See GET /v1/regions.

market'US' | 'CA' | 'UK' | 'AU' | 'NZ' | 'ES' | 'DE' | 'IT' | 'FR' | 'IE' | 'NL' | 'CH' | 'SE' | 'NO' | 'DK' | 'FI' | 'ZA' | 'MX' | 'BR' | 'CO' | 'IN' | 'SG' | 'MY' | 'JP' | 'KE' | 'AE' | 'HK'

DEPRECATED: use region. Accepted for backward compatibility; the API emits Deprecation: true + Link response headers when this field is used. Must match region if both are sent.

localestring

BCP-47 locale tag. Canonicalized via Intl.Locale (en_usen-US; zh_hant_hkzh-Hant-HK). Max 16 chars.

compatibility_modeboolean

Optional. Defaults to false. When true, allows budgeted browser rendering for difficult competitor pages. The target URL already receives automatic recovery when needed.

callbackMetadataobject

Example request

{
  "region": "uk",
  "market": "uk",
  "locale": "en-GB"
}

Response

Accepted

jobIdstring required
poweredBy'On-Page.ai' required
status'queued' required
request_idstring required

Changes

No recorded changes to this endpoint across all 1 revision of this API.