Hreflang Validator: Return Links, x-default, Invalid Codes
Pricing
$3.00 / 1,000 pages
Hreflang Validator: Return Links, x-default, Invalid Codes
Validate hreflang on multilingual pages: reads HTML and HTTP Link headers, checks language/region codes, x-default, self-reference, canonical conflicts, and fetches each alternate to confirm the return link Google requires. Extracts fields: url, finalUrl, hreflangCount, languages, tags.
Pricing
$3.00 / 1,000 pages
Rating
0.0
(0)
Developer
CarrierDaily
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Security
Limited permissionsShare
Validate hreflang on multilingual pages: reads HTML and HTTP Link headers, checks language/region codes, x-default, self-reference, canonical conflicts, and fetches each alternate to confirm the return link Google requires.
Why this actor
- Actually fetches alternates to verify return links (most tools only list tags).
- Pay only for results: $3.00 per 1,000 pages, no start fee, failed lookups are free.
- Robust: automatic retries with exponential backoff, respects
Retry-After, per-item error rows instead of crashed runs. - Clean, flat JSON/CSV/Excel output ready for Google Sheets, Make, Zapier, n8n, Clay, or the Apify API.
Use cases
- International SEO audits
- QA after site migrations or new locales
- Agencies reporting on global sites
- Ecommerce with country stores
How to use Hreflang Validator: Return Links, x
- Configure
urls,checkReturnLinksin the Input tab (or leave the prefilled sample values to test immediately). - Optionally set
maxItemsto cap the number of results and control spend. - Click Start and export structured results as JSON, CSV, Excel, or connect directly via API / MCP / n8n / Make.
Input
| Field | Type | Description |
|---|---|---|
urls | array | Multilingual pages to validate. |
checkReturnLinks | boolean | Fetch each alternate and confirm it links back (Google requirement). |
maxItems | integer | 0 = no limit. Caps cost. |
Example input:
{"urls": ["https://www.apple.com/"]}
Output
Each dataset item looks like this (real sample from a test run, long fields trimmed):
{"url": "https://www.apple.com/","finalUrl": "https://www.apple.com/","hreflangCount": 137,"languages": ["ar-AE","ar-BH","ar-EG","\u2026"],"tags": {"en-US": "https://www.apple.com/","ar-AE": "https://www.apple.com/ae-ar/","en-AE": "https://www.apple.com/ae/","en-AM": "https://www.apple.com/am/","de-AT": "https://www.apple.com/at/","en-AU": "https://www.apple.com/au/","en-AZ": "https://www.apple.com/az/","fr-BE": "https://www.apple.com/befr/","nl-BE": "https://www.apple.com/benl/","bg-BG": "https://www.apple.com/bg/","ar-BH": "https://www.apple.com/bh-ar/","en-BH": "https://www.apple.com/bh/","pt-BR": "https://www.apple.com/br/","en-BW": "https://www.apple.com/bw/","en-CA": "https://www.apple.com/ca/","fr-CA": "https://www.apple.com/ca/fr/","fr-CF": "https://www.apple.com/cf/","de-CH": "https://www.apple.com/chde/","fr-CH": "https://www.apple.com/chfr/","fr-CI": "https://www.apple.com/ci/","es-CL": "https://www.apple.com/cl/","fr-CM": "https://www.apple.com/cm/","es-CO": "https://www.apple.com/co/","cs-CZ": "https://www.apple.com/cz/","de-DE": "https://www.apple.com/de/","da-DK": "https://www.apple.com/dk/","et-EE": "https://www.apple.com/ee/","ar-EG": "https://www.apple.com/eg-ar/","en-EG": "https://www.apple.com/eg/","es-ES": "https://www.apple.com/es/","fi-FI": "https://www.apple.com/fi/","fr-FR": "https://www.apple.com/fr/","en-GE": "https://www.apple.com/ge/","fr-GN": "https://www.apple.com/gn/","fr-GQ": "https://www.apple.com/gq/","el-GR": "https://www.apple.com/gr/","en-GW": "https://www.apple.com/gw/","zh-HK": "https://www.apple.com/hk/","en-HK": "https://www.apple.com/hk/en/","hr-HR": "https://www.apple.com/hr/","hu-HU": "https://www.apple.com/hu/","en-ID": "https://www.apple.com/id/","en-IE": "https://www.apple.com/ie/","en-IL": "https://www.apple.com/il/","en-IN": "https://www.apple.com/in/","it-IT": "https://www.apple.com/it/","ar-JO": "https://www.apple.com/jo-ar/","en-JO": "https://www.apple.com/jo/","ja-JP": "https://www.apple.com/jp/","en-KE": "https://www.apple.com/ke/","en-KG": "https://www.apple.com/kg/","ko-KR": "https://www.apple.com/kr/","ar-KW": "https://www.apple.com/kw-ar/","en-KW": "https://www.apple.com/kw/","en-KZ": "https://www.apple.com/kz/","es-HN": "https://www.apple.com/la/","es-AR": "https://www.apple.com/la/","es-SV": "https://www.apple.com/la/","es-DO": "https://www.apple.com/la/","es-EC": "https://www.apple.com/la/","es-GT": "https://www.apple.com/la/","es-PE": "https://www.apple.com/la/","es-BO": "https://www.apple.com/la/","es-NI": "https://www.apple.com/la/","es-VE": "https://www.apple.com/la/","es-PA": "https://www.apple.com/la/","es-CR": "https://www.apple.com/la/","es-UY": "https://www.apple.com/la/","es-PY": "https://www.apple.com/la/","en-AG": "https://www.apple.com/lae/","en-BS": "https://www.apple.com/lae/","en-TC": "https://www.apple.com/lae/","en-TT": "https://www.apple.com/lae/","en-SR": "https://www.apple.com/lae/","en-BM": "https://www.apple.com/lae/","en-BB": "https://www.apple.com/lae/","en-BZ": "https://www.apple.com/lae/","en-GD": "https://www.apple.com/lae/","en-KY": "https://www.apple.com/lae/","en-LC": "https://www.apple.com/lae/","en-MS": "https://www.apple.com/lae/","en-KN": "https://www.apple.com/lae/","en-AI": "https://www.apple.com/lae/","en-VC": "https://www.apple.com/lae/","en-GY": "https://www.apple.com/lae/","en-VG": "https://www.apple.com/lae/","en-DM": "https://www.apple.com/lae/","en-JM": "https://www.apple.com/lae/","de-LI": "https://www.apple.com/li/","lt-LT": "https://www.apple.com/lt/","fr-LU": "https://www.apple.com/lu/","lv-LV": "https://www.apple.com/lv/","fr-MA": "https://www.apple.com/ma/","en-MD": "https://www.apple.com/md/","en-ME": "https://www.apple.com/me/","en-MG": "https://www.apple.com/mg/","en-MK": "https://www.apple.com/mk/","fr-ML": "https://www.apple.com/ml/","zh-MO": "https://www.apple.com/mo/","en-MT": "https://www.apple.com/mt/","fr-MU": "https://www.apple.com/mu/","es-MX": "https://www.apple.com/mx/","en-MY": "https://www.apple.com/my/","en-MZ": "https://www.apple.com/mz/","fr-NE": "https://www.apple.com/ne/","en-NG": "https://www.apple.com/ng/","nl-NL": "https://www.apple.com/nl/","no-NO": "https://www.apple.com/no/","en-NZ": "https://www.apple.com/nz/","ar-OM": "https://www.apple.com/om-ar/","en-OM": "https://www.apple.com/om/","en-PH": "https://www.apple.com/ph/","pl-PL": "https://www.apple.com/pl/","pt-PT": "https://www.apple.com/pt/","ar-QA": "https://www.apple.com/qa-ar/","en-QA": "https://www.apple.com/qa/","ro-RO": "https://www.apple.com/ro/","ar-SA": "https://www.apple.com/sa-ar/","en-SA": "https://www.apple.com/sa/","sv-SE": "https://www.apple.com/se/","en-SG": "https://www.apple.com/sg/","en-SI": "https://www.apple.com/si/","sk-SK": "https://www.apple.com/sk/","fr-SN": "https://www.apple.com/sn/","th-TH": "https://www.apple.com/th/","en-TJ": "https://www.apple.com/tj/","en-TM": "https://www.apple.com/tm/","fr-TN": "https://www.apple.com/tn/","tr-TR": "https://www.apple.com/tr/","zh-TW": "https://www.apple.com/tw/","uk-UA": "https://www.apple.com/ua/","en-UG": "https://www.apple.com/ug/","en-GB": "https://www.apple.com/uk/","en-UZ": "https://www.apple.com/uz/","vi-VN": "https://www.apple.com/vn/","en-ZA": "https://www.apple.com/za/","zh-CN": "https://www.apple.com.cn/"},"alternatesChecked": [{"hreflang": "ar-AE","url": "https://www.apple.com/ae-ar/","status": 200,"returnLink": true},{"hreflang": "en-AE","url": "https://www.apple.com/ae/","status": 200,"returnLink": true},{"hreflang": "en-AM","url": "https://www.apple.com/am/","status": 200,"returnLink": true},"\u2026"],"issues": ["no x-default"],"valid": false,"scrapedAt": "2026-10-14T16:24:38+00:00"}
Rows that could not be processed contain an error field and are not charged.
Extracted output fields
Every dataset row includes structured fields ready for spreadsheets, CRMs, and AI pipelines:
- Fields:
url,finalUrl,hreflangCount,languages,tags,alternatesChecked,issues,valid,scrapedAt
Comparison: Hreflang Validator: Return Links, x vs alternatives
| Feature | This Actor (shawndunn/hreflang-validator) | Typical alternatives |
|---|---|---|
| Pricing model | $3 / 1,000 results, $0.00 start fee | $20–$49/mo subscription or per-run start fees |
| Failed / error lookups | $0.00 (never charged) | Often billed by compute time even on failures |
| API keys / proxies required | None (works out of the box) | Often requires paid third-party keys or residential proxies |
| AI Agent & MCP ready | Yes (mcp.apify.com compatible, optional defaults) | Strict required schemas that reject agent calls |
Pricing
Pay-per-event: $0.003 per page (= $3.00 / 1,000). Use Max results to cap spend. Apify's free plan credit covers thousands of results per month.
Integrations & API
Run on a schedule in Apify Console, call via the Apify API / Python & JS clients, or connect to Make, Zapier, n8n, Google Sheets, Slack and webhooks. Works as a tool for AI agents via Apify MCP.
Use with AI agents (MCP)
Hreflang Validator: Return Links, x is configured for zero-config AI agent tool use via the Apify MCP Server (no required-field blocking on defaulted inputs).
Streamable HTTP endpoint:
https://mcp.apify.com/?tools=shawndunn/hreflang-validator
Claude Desktop / Cursor / Windsurf mcpServers config:
{"mcpServers": {"apify-hreflang-validator": {"url": "https://mcp.apify.com/?tools=shawndunn/hreflang-validator","headers": {"Authorization": "Bearer <YOUR_APIFY_TOKEN>"}}}}
Direct synchronous API call:
POST https://api.apify.com/v2/acts/shawndunn~hreflang-validator/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>
FAQ
Is this an official tool? No. It is an independent actor and is not affiliated with, sponsored or endorsed by the data source or any trademark owner named here.
Is it legal? The actor only reads publicly available data from public endpoints, without logins, and does not bypass paywalls or access controls. You are responsible for using the data in line with applicable laws (e.g. GDPR) and the source sites' terms.
Something broke? Open an issue in the Issues tab; we typically respond within 24 hours and ship fixes fast.
More tools by shawndunn
- Bulk PageSpeed Insights & Core Web Vitals Checker (Lighthouse) — Audit hundreds of URLs with Google PageSpeed Insights: performance, SEO, accessibility and best-practices scores, LCP, CLS, TBT ($3/1k, no start fee).
- Sitemap URL Extractor — Extract every URL from any website's XML sitemaps: auto-discovery via robots.
- Broken Link Checker & Bulk URL Status Checker — Crawl a website and test every internal and external link, or bulk-check a list of URLs (url, statusCode, ok, finalUrl) ($1/1k, no start fee).
- On-Page SEO Checker (Bulk): Titles, Meta, Headings, Canonicals, Issues — Audit any list of URLs for on-page SEO: title and meta description length, canonical, robots/noindex, H1–H3, word count ($2/1k, no start fee).
- Link Preview & Open Graph Extractor (Unfurl URLs) — Unfurl any URL like Slack or iMessage: title, description, preview image, site name, favicon/icons, theme color, Open Graph and ($1/1k, no start fee).