URL Status API Reference
Check the status of a URL: HTTP response code, redirects chain, final URL and page details, with many options to control how the URL is fetched.
Service details and pricing: URL Status API
Request example
Query the endpoint via an HTTPS POST request (replace YOUR_API_KEY_HERE with your API key):
curl -X POST "https://api.apivoid.com/v2/url-status" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-d '{"url": "http://wikipedia.com"}'The same request in PHP:
$url = 'http://wikipedia.com';
$apiKey = 'YOUR_API_KEY_HERE';
$curl = curl_init('https://api.apivoid.com/v2/url-status');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'X-API-Key: ' . $apiKey]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(['url' => $url]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($httpCode === 200) {
$responseData = json_decode($response, true);
print_r($responseData);
} else {
print_r('An error occurred: '.$response);
}Request parameters
Required
URL to submit, e.g. http://wikipedia.com.
Optional
follow_redirectsbooleanDefault: true
Specify if redirect URLs should be followed.
follow_external_redirectsbooleanDefault: true
Specify if external redirect URLs should be followed.
follow_meta_redirectsbooleanDefault: false
Specify if meta refresh redirects should be followed.
follow_header_redirectsbooleanDefault: false
Specify if header refresh redirects should be followed.
follow_custom_redirectsbooleanDefault: false
Specify if custom redirects (e.g. site-specific) should be followed.
max_redirectsintegerDefault: 10
Set maximum number of redirects to follow (max 10).
verify_sslbooleanDefault: true
Enable or disable SSL certificate verification.
New response fields (when enabled): valid_ssl ssl_details.
check_ssl_revocationbooleanDefault: false
Enable SSL revocation check. Requires "verify_ssl": true.
New response fields (when enabled): revoked inside ssl_details.
user_agentstringDefault: desktop
Can be desktop (default, a random desktop user agent), desktop-firefox, desktop-chrome, desktop-edge or mobile.
refererstring
Can be "origin" (the base URL {scheme}://{host}/), "google", "yahoo", "duckduckgo", or "bing".
accept_languagestringDefault: en-US
Change the Accept-Language HTTP header, format like en or en-US.
basic_auth_usernamestring
Set username for Basic Authentication.
basic_auth_passwordstring
Set password for Basic Authentication.
authorization_bearerstring
Set the authorization bearer token.
connect_timeoutintegerDefault: 10
Set a connection timeout in seconds (max 15) for each followed URL.
include_response_headersbooleanDefault: false
Enable the retrieval of response headers if needed.
New response fields (when enabled): response_headers.
include_response_bodybooleanDefault: false
Enable the retrieval of response body (in base64) if needed.
New response fields (when enabled): body_base64 body_md5_hash_original body_size_bytes body_truncated.
include_response_body_textbooleanDefault: false
Include the response body in plain text only (no HTML tags).
New response fields (when enabled): body_text.
include_favicon_detailsbooleanDefault: false
Include favicon details, e.g. the base64-encoded file, MD5 hash, and image dimensions.
New response fields (when enabled): favicon_details.
include_og_image_detailsbooleanDefault: false
Include og:image details, e.g. the base64-encoded file, MD5 hash, and image dimensions.
New response fields (when enabled): og_image_details.
include_linksbooleanDefault: false
Extract internal and external links categorized by tags, including links found in inline scripts.
New response fields (when enabled): links.
include_formsbooleanDefault: false
Extract and parse every form and all its elements (input, button, etc.).
New response fields (when enabled): forms.
clean_page_contentbooleanDefault: false
Clean HTML content by removing extra whitespace and newlines.
custom_proxystring
Custom proxy URL, e.g. http://user:pass@example.com:8000.
use_premium_proxybooleanDefault: false
Use a premium proxy *BETA*.
use_http2booleanDefault: false
Use HTTP/2 to make the request.
Response example
A successful request returns HTTP 200 with a JSON body:
{
"url": "http://wikipedia.com/",
"unwrapped_url": "",
"debug_message": "",
"chain_status": "complete",
"redirect_stats": {
"redirects_found": 2,
"followed_redirects": 2,
"duplicate_redirects": 0,
"http_to_https_redirects": 1,
"https_to_http_redirects": 0,
"external_redirects": 1,
"same_origin_redirects": 0,
"cross_origin_redirects": 2
},
"request_stats": {
"total_requests": 3,
"failed_requests": 0,
"slow_requests": 0,
"ssl_errors": 0,
"avg_elapsed_ms": 285,
"max_elapsed_ms": 374
},
"chain": [
{
"url": "http://wikipedia.com/",
"hop": 0,
"protocol": "HTTP/1.1",
"status_code": 301,
"status_message": "Moved Permanently",
"content_type": "text/html",
"can_resolve": true,
"connection_error": false,
"redirect_to": "https://wikipedia.com/",
"redirect_type": "3xx_redirect",
"redirect_info": {
"http_to_https": true,
"https_to_http": false,
"non_www_to_www": false,
"www_to_non_www": false,
"external_redirect": false,
"same_origin": false,
"cross_origin": true,
"same_scheme": false,
"same_domain": true,
"same_host": true,
"same_port": false
},
"redirect_followed": true,
"ip": "185.15.59.226",
"url_parts": {
"scheme": "http",
"host": "wikipedia.com",
"host_nowww": "wikipedia.com",
"port": 80,
"path": "/",
"query": ""
},
"domain_parts": {
"root_domain": "wikipedia.com",
"subdomain": "",
"tld": "com"
},
"valid_ssl": false,
"elapsed_ms": 177
},
{
"url": "https://wikipedia.com/",
"hop": 1,
"protocol": "HTTP/1.1",
"status_code": 301,
"status_message": "Moved Permanently",
"content_type": "text/html",
"can_resolve": true,
"connection_error": false,
"redirected_from": "http://wikipedia.com/",
"redirect_to": "https://www.wikipedia.org/",
"redirect_type": "3xx_redirect",
"redirect_info": {
"http_to_https": false,
"https_to_http": false,
"non_www_to_www": false,
"www_to_non_www": false,
"external_redirect": true,
"same_origin": false,
"cross_origin": true,
"same_scheme": true,
"same_domain": false,
"same_host": false,
"same_port": true
},
"redirect_followed": true,
"ip": "185.15.59.226",
"url_parts": {
"scheme": "https",
"host": "wikipedia.com",
"host_nowww": "wikipedia.com",
"port": 443,
"path": "/",
"query": ""
},
"domain_parts": {
"root_domain": "wikipedia.com",
"subdomain": "",
"tld": "com"
},
"valid_ssl": true,
"ssl_details": {
"certificate_found": true,
"ssl_errors": false,
"name_match": true,
"expired": false,
"valid": true,
"self_signed": false,
"issuer": {
"common_name": "E8",
"organization": [
"Let's Encrypt"
],
"organizational_unit": [],
"location": [],
"state": [],
"country": [
"US"
]
},
"subject": {
"common_name": "wikipedia.com",
"organization": [],
"organizational_unit": [],
"location": [],
"state": [],
"country": []
},
"valid_from": "Mon, 23 Feb 2026 19:59:09 UTC",
"valid_to": "Sun, 24 May 2026 19:59:08 UTC",
"valid_days_left": 63,
"expired_from_days": 0,
"serial_number": "623dc3867ce9c736adc88a61b43e0f9e73e",
"fingerprint_sha1": "cc2a48be4cbfecc7b5cddf3783bd3b188573fdf8",
"fingerprint_sha256": "525174022c16125f127a9f34adc01c5dac8a1de93205588acc14a26d24c29ea3",
"algorithm": "ECDSA-SHA384",
"key_algorithm": "ECDSA",
"key_size": 256,
"type": "Domain Validation"
},
"elapsed_ms": 306
},
{
"url": "https://www.wikipedia.org/",
"hop": 2,
"protocol": "HTTP/1.1",
"status_code": 200,
"status_message": "OK",
"content_type": "text/html",
"can_resolve": true,
"connection_error": false,
"redirected_from": "https://wikipedia.com/",
"ip": "185.15.59.224",
"html_info": {
"title": "Wikipedia",
"description": "Wikipedia is a free online encyclopedia, created and edited by volunteers around the world and hosted by the Wikimedia Foundation.",
"keywords": "",
"author": "",
"robots": "",
"googlebot": "",
"canonical": "",
"og_image": "https://upload.wikimedia.org/wikipedia/en/thumb/8/80/Wikipedia-logo-v2.svg/2244px-Wikipedia-logo-v2.svg.png",
"og_type": "website",
"og_site_name": "",
"og_url": "",
"article_publisher": "",
"twitter_site": "",
"fb_app_id": "",
"ld_organization": "",
"ld_url": "",
"ld_logo": "",
"ld_same_as": [],
"generator": [],
"refresh_url": "",
"apple_itunes_app_id": "",
"apple_itunes_app_name": "",
"icon": "https://www.wikipedia.org/static/favicon/wikipedia.ico",
"apple_touch_icon": [
{
"size": "",
"href": "https://www.wikipedia.org/static/apple-touch/wikipedia.png"
}
],
"lang": "en",
"hreflang": [],
"h1": [
"Wikipedia The Free Encyclopedia",
"Wikipedia 25 years of the free encyclopedia"
],
"h2": [
"Unlock birthday surprises on Wikipedia",
"1,000,000+ articles",
"100,000+ articles",
"10,000+ articles",
"1,000+ articles",
"100+ articles"
],
"h3": []
},
"url_parts": {
"scheme": "https",
"host": "www.wikipedia.org",
"host_nowww": "wikipedia.org",
"port": 443,
"path": "/",
"query": ""
},
"domain_parts": {
"root_domain": "wikipedia.org",
"subdomain": "www",
"tld": "org"
},
"valid_ssl": true,
"ssl_details": {
"certificate_found": true,
"ssl_errors": false,
"name_match": true,
"expired": false,
"valid": true,
"self_signed": false,
"issuer": {
"common_name": "E8",
"organization": [
"Let's Encrypt"
],
"organizational_unit": [],
"location": [],
"state": [],
"country": [
"US"
]
},
"subject": {
"common_name": "*.wikipedia.org",
"organization": [],
"organizational_unit": [],
"location": [],
"state": [],
"country": []
},
"valid_from": "Fri, 06 Feb 2026 21:41:32 UTC",
"valid_to": "Thu, 07 May 2026 21:41:31 UTC",
"valid_days_left": 47,
"expired_from_days": 0,
"serial_number": "666163cc3790d2d917d56a0dd1c87974320",
"fingerprint_sha1": "2c9db350d2b084116c7a12bb629b7397d42da8fa",
"fingerprint_sha256": "3461aaf30b87e6ffb74969ae7a96efa4e8e1c6a2a39a213ed3abd5d17de9279f",
"algorithm": "ECDSA-SHA384",
"key_algorithm": "ECDSA",
"key_size": 256,
"type": "Domain Validation"
},
"elapsed_ms": 374
}
],
"final_url": {
"url": "https://www.wikipedia.org/",
"protocol": "HTTP/1.1",
"status": "online",
"status_code": 200,
"status_message": "OK"
},
"elapsed_ms": 857
}Response fields
The fields returned in the JSON response:
urlstring
The original URL submitted for checking.
unwrapped_urlstring
If the input is an email gateway protected link (Mimecast, Proofpoint, Barracuda, etc.), contains the extracted real destination URL that was scanned. Empty string if not applicable.
debug_messagestring
Populated when the chain stopped early (e.g. max redirects reached, meta refresh disabled). Empty string on a clean complete chain.
chain_statusstring
complete if the chain reached a final URL. partial if stopped early.
redirect_stats → redirects_foundinteger
Total redirects detected in the chain, including 3xx and other redirects.
redirect_stats → followed_redirectsinteger
Number of redirects actually followed. May be lower than redirects_found if a redirect was not followed.
redirect_stats → duplicate_redirectsinteger
Hops where the URL was already visited earlier in the chain. A non-zero value indicates a potential redirect loop.
redirect_stats → http_to_https_redirectsinteger
Redirects that upgraded the scheme from http:// to https://.
redirect_stats → https_to_http_redirectsinteger
Redirects that downgraded the scheme from https:// to http://. A non-zero value is a security concern.
redirect_stats → external_redirectsinteger
Redirects that crossed to a different root domain.
redirect_stats → same_origin_redirectsinteger
Redirects where scheme, host, and port all remained identical (browser origin definition).
redirect_stats → cross_origin_redirectsinteger
Redirects where scheme, host, or port changed. Includes subdomain changes such as non-www to www.
request_stats → total_requestsinteger
Total HTTP requests made across the entire chain, including the final destination hop.
request_stats → failed_requestsinteger
Hops that returned no HTTP response (status_code: 0). Covers DNS failures, private IP blocks, and connection errors.
request_stats → slow_requestsinteger
Hops that exceeded the slow request threshold (6000ms).
request_stats → ssl_errorsinteger
Hops with an invalid SSL certificate. Includes self-signed, expired, or name mismatch certificates.
request_stats → avg_elapsed_msinteger
Average response time in milliseconds across all hops in the chain.
request_stats → max_elapsed_msinteger
Slowest single hop response time in milliseconds across the chain.
chainarray
Hops of the request chain; one item per request, from the submitted URL to the final destination.
chain[n] → urlstring
The URL requested at this hop.
chain[n] → hopinteger
Zero-based index of this hop in the redirect chain.
chain[n] → protocolstring
HTTP protocol version used (e.g. HTTP/1.1, HTTP/2). Empty string if the request failed.
chain[n] → status_codeinteger
HTTP response status code. 0 indicates no response was received (connection failure).
chain[n] → status_messagestring
HTTP status message or a descriptive error if the request failed (e.g. Domain resolves to a non-public IP).
chain[n] → content_typestring
Content-Type of the response at this hop, e.g. text/html.
chain[n] → can_resolveboolean
Returns true if the domain resolved to a valid public IP address via DNS.
chain[n] → connection_errorboolean
Returns true if a connection error occurred at this hop. True for DNS failures and non-public IP blocks.
chain[n] → redirect_tostring
The URL this hop redirects to. Only present on redirect hops.
chain[n] → redirect_typestring
3xx_redirect for HTTP redirects. meta_redirect for HTML meta refresh redirects.
chain[n] → redirect_info → http_to_httpsboolean
Returns true if this redirect upgraded from http:// to https://.
chain[n] → redirect_info → https_to_httpboolean
Returns true if this redirect downgraded from https:// to http://.
chain[n] → redirect_info → non_www_to_wwwboolean
Returns true if this redirect added the www. subdomain.
chain[n] → redirect_info → www_to_non_wwwboolean
Returns true if this redirect removed the www. subdomain.
chain[n] → redirect_info → external_redirectboolean
Returns true if this redirect crossed to a different root domain.
chain[n] → redirect_info → same_originboolean
Returns true if scheme, host, and port are all identical between source and destination (browser origin model).
chain[n] → redirect_info → cross_originboolean
Returns true if scheme, host, or port differs between source and destination.
chain[n] → redirect_info → same_schemeboolean
Returns true if the redirect keeps the same URL scheme (http/https).
chain[n] → redirect_info → same_domainboolean
Returns true if the root domain is the same, regardless of subdomain or scheme changes.
chain[n] → redirect_info → same_hostboolean
Returns true if the full host including subdomain is identical.
chain[n] → redirect_info → same_portboolean
Returns true if the port is identical between source and destination.
chain[n] → redirect_followedboolean
Returns true if the redirect at this hop was followed. False if max redirects reached or meta refresh is disabled.
chain[n] → ipstring
Resolved IP address of the host at this hop.
chain[n] → url_parts → schemestring
URL scheme at this hop: http or https.
chain[n] → url_parts → hoststring
Full hostname including subdomain (e.g. www.example.com).
chain[n] → url_parts → host_nowwwstring
Hostname with the www. prefix stripped.
chain[n] → url_parts → portinteger
Port number. Typically 80 for HTTP, 443 for HTTPS, or 0 if unspecified.
chain[n] → url_parts → pathstring
URL path component (e.g. /contact-us/).
chain[n] → url_parts → querystring
URL query string. Empty string if none.
chain[n] → domain_parts → root_domainstring
Registered root domain (e.g. example.com), excluding subdomains.
chain[n] → domain_parts → subdomainstring
Subdomain portion of the host (e.g. www). Empty string if none.
chain[n] → domain_parts → tldstring
Top-level domain (e.g. com, org, co.uk).
chain[n] → valid_sslbooleanWith: verify_ssl
Returns true if the SSL certificate passed all validation checks. Always false for plain HTTP hops.
chain[n] → elapsed_msinteger
Response time in milliseconds for this individual hop.
chain[n] → response_headersobjectWith: include_response_headers
HTTP response headers of the hop, keyed by lowercase header name.
chain[n] → body_base64stringWith: include_response_body
Response body of the hop encoded in base64.
chain[n] → body_md5_hash_originalstringWith: include_response_body
MD5 hash of the original (untruncated) response body.
chain[n] → body_size_bytesintegerWith: include_response_body
Size of the response body in bytes.
chain[n] → body_truncatedbooleanWith: include_response_body
Returns true if the response body was truncated.
chain[n] → body_textstringWith: include_response_body_text
Visible text extracted from the response body.
chain[n] → redirected_fromstring
URL of the previous hop that redirected here. Only present from hop 1 onwards.
chain[n] → ssl_details → certificate_foundbooleanWith: verify_ssl
Returns true if an SSL certificate was found for this hop.
chain[n] → ssl_details → ssl_errorsbooleanWith: verify_ssl
Returns true if any SSL validation errors were detected.
chain[n] → ssl_details → name_matchbooleanWith: verify_ssl
Returns true if the certificate common name or SAN matches the requested hostname.
chain[n] → ssl_details → expiredbooleanWith: verify_ssl
Returns true if the certificate is past its expiry date.
chain[n] → ssl_details → revokedbooleanWith: check_ssl_revocation
Returns true if the SSL certificate is revoked.
chain[n] → ssl_details → validbooleanWith: verify_ssl
Returns true if the certificate passed all validation checks.
chain[n] → ssl_details → self_signedbooleanWith: verify_ssl
Returns true if the certificate is self-signed (issuer equals subject).
chain[n] → ssl_details → issuer → common_namestringWith: verify_ssl
Common name of the Certificate Authority that issued this certificate.
chain[n] → ssl_details → issuer → organizationarrayWith: verify_ssl
Organization name of the Certificate Authority (e.g. Let's Encrypt).
chain[n] → ssl_details → issuer → organizational_unitarray
Organizational Unit (OU) entries of the certificate issuer. Empty array if none.
chain[n] → ssl_details → issuer → locationarray
Locality (L) entries of the certificate issuer. Empty array if none.
chain[n] → ssl_details → issuer → statearray
State or province (ST) entries of the certificate issuer. Empty array if none.
chain[n] → ssl_details → issuer → countryarray
Country (C) entries of the certificate issuer. Empty array if none.
chain[n] → ssl_details → subject → common_namestringWith: verify_ssl
Common name the certificate was issued for (e.g. *.example.com).
chain[n] → ssl_details → subject → organizationarray
Organization (O) entries of the certificate subject. Empty array if none.
chain[n] → ssl_details → subject → organizational_unitarray
Organizational Unit (OU) entries of the certificate subject. Empty array if none.
chain[n] → ssl_details → subject → locationarray
Locality (L) entries of the certificate subject. Empty array if none.
chain[n] → ssl_details → subject → statearray
State or province (ST) entries of the certificate subject. Empty array if none.
chain[n] → ssl_details → subject → countryarray
Country (C) entries of the certificate subject. Empty array if none.
chain[n] → ssl_details → valid_fromstringWith: verify_ssl
Certificate validity start date in UTC.
chain[n] → ssl_details → valid_tostringWith: verify_ssl
Certificate expiry date in UTC.
chain[n] → ssl_details → valid_days_leftintegerWith: verify_ssl
Number of days until the certificate expires.
chain[n] → ssl_details → expired_from_daysintegerWith: verify_ssl
Number of days since the certificate expired. 0 on valid certificates.
chain[n] → ssl_details → serial_numberstringWith: verify_ssl
Unique serial number assigned by the Certificate Authority.
chain[n] → ssl_details → fingerprint_sha1stringWith: verify_ssl
SHA-1 fingerprint of the certificate.
chain[n] → ssl_details → fingerprint_sha256stringWith: verify_ssl
SHA-256 fingerprint of the certificate.
chain[n] → ssl_details → algorithmstringWith: verify_ssl
Signature algorithm used (e.g. ECDSA-SHA256, SHA256-RSA).
chain[n] → ssl_details → key_algorithmstringWith: verify_ssl
Public key algorithm (e.g. RSA, ECDSA).
chain[n] → ssl_details → key_sizeintegerWith: verify_ssl
Key size in bits (e.g. 2048 for RSA, 256 for ECDSA).
chain[n] → ssl_details → typestringWith: verify_ssl
Certificate validation type: Domain Validation, Organization Validation, or Extended Validation.
chain[n] → html_info → titlestring
Contents of the HTML <title> tag.
chain[n] → html_info → descriptionstring
Contents of the meta description tag.
chain[n] → html_info → keywordsstring
Contents of the meta keywords tag.
chain[n] → html_info → authorstring
Contents of the meta author tag. Empty string if none.
chain[n] → html_info → robotsstring
Contents of the meta robots tag.
chain[n] → html_info → googlebotstring
Contents of the meta googlebot tag. Empty string if none.
chain[n] → html_info → canonicalstring
Canonical URL declared via <link rel="canonical">.
chain[n] → html_info → og_imagestring
Open Graph image URL (og:image).
chain[n] → html_info → og_typestring
Open Graph content type (og:type).
chain[n] → html_info → og_site_namestring
Open Graph site name (og:site_name).
chain[n] → html_info → og_urlstring
Open Graph URL of the page. Empty string if none.
chain[n] → html_info → article_publisherstring
Contents of the article:publisher Open Graph tag. Empty string if none.
chain[n] → html_info → twitter_sitestring
Twitter/X site handle from twitter:site meta tag.
chain[n] → html_info → fb_app_idstring
Facebook App ID from fb:app_id meta tag.
chain[n] → html_info → ld_organizationstring
Organization name from JSON-LD structured data.
chain[n] → html_info → ld_urlstring
URL from JSON-LD structured data.
chain[n] → html_info → ld_logostring
Logo URL from JSON-LD structured data.
chain[n] → html_info → ld_same_asarray
sameAs URLs found in JSON-LD structured data (e.g. social profiles).
chain[n] → favicon_details → base64_filestringWith: include_favicon_details
The favicon image encoded in base64.
chain[n] → favicon_details → md5_hashstringWith: include_favicon_details
MD5 hash of the favicon image file.
chain[n] → favicon_details → image_widthintegerWith: include_favicon_details
Width of the favicon image in pixels.
chain[n] → favicon_details → image_heightintegerWith: include_favicon_details
Height of the favicon image in pixels.
chain[n] → favicon_details → file_size_bytesintegerWith: include_favicon_details
File size of the favicon image in bytes.
chain[n] → favicon_details → file_size_readablestringWith: include_favicon_details
File size in human-readable format, e.g. 2.7 KB.
chain[n] → og_image_details → base64_filestringWith: include_og_image_details
The Open Graph image encoded in base64.
chain[n] → og_image_details → md5_hashstringWith: include_og_image_details
MD5 hash of the Open Graph image file.
chain[n] → og_image_details → image_widthintegerWith: include_og_image_details
Width of the Open Graph image in pixels.
chain[n] → og_image_details → image_heightintegerWith: include_og_image_details
Height of the Open Graph image in pixels.
chain[n] → og_image_details → file_size_bytesintegerWith: include_og_image_details
File size of the Open Graph image in bytes.
chain[n] → og_image_details → file_size_readablestringWith: include_og_image_details
File size in human-readable format, e.g. 2.7 KB.
chain[n] → linksobjectWith: include_links
Links found on the page, grouped by source tag: a, script, inline, img, link, form, iframe, embed, object.
chain[n] → links → [tag] → internalarrayWith: include_links
URLs of this tag group pointing to the same site.
chain[n] → links → [tag] → externalarrayWith: include_links
URLs of this tag group pointing to external sites.
chain[n] → formsarrayWith: include_forms
HTML forms found on the page.
chain[n] → forms[n] → idstringWith: include_forms
ID attribute of the form.
chain[n] → forms[n] → classstringWith: include_forms
Class attribute of the form.
chain[n] → forms[n] → methodstringWith: include_forms
HTTP method of the form, e.g. post.
chain[n] → forms[n] → actionstringWith: include_forms
Action URL the form submits to.
chain[n] → forms[n] → enctypestringWith: include_forms
Encoding type of the form, if set.
chain[n] → forms[n] → targetstringWith: include_forms
Target attribute of the form, if set.
chain[n] → forms[n] → autocompletestringWith: include_forms
Autocomplete attribute of the form, if set.
chain[n] → forms[n] → has_password_fieldsbooleanWith: include_forms
Returns true if the form contains password fields.
chain[n] → forms[n] → has_hidden_fieldsbooleanWith: include_forms
Returns true if the form contains hidden fields.
chain[n] → forms[n] → componentsarrayWith: include_forms
Form components; each item has tag, type, id, name, class, placeholder, value, required, minlength, maxlength and text.
chain[n] → html_info → generatorarray
CMS or framework from meta generator tag (e.g. WordPress).
chain[n] → html_info → refresh_urlstring
Target URL from a meta refresh tag. Used to detect meta redirects.
chain[n] → html_info → apple_itunes_app_idstring
App ID from the apple-itunes-app meta tag. Empty string if none.
chain[n] → html_info → apple_itunes_app_namestring
App name from the apple-itunes-app meta tag. Empty string if none.
chain[n] → html_info → iconstring
URL of the site favicon.
chain[n] → html_info → apple_touch_iconarray
Apple touch icon URLs and sizes declared on the page.
chain[n] → html_info → apple_touch_icon[n] → sizestring
Value of the sizes attribute, e.g. 180x180. Empty string if not specified.
chain[n] → html_info → apple_touch_icon[n] → hrefstring
URL of the Apple touch icon.
chain[n] → html_info → langstring
Language code from the HTML lang attribute.
chain[n] → html_info → hreflangarray
Hreflang alternate language/region URLs declared on the page.
chain[n] → html_info → h1array
All <h1> tag contents found on the page.
chain[n] → html_info → h2array
All <h2> tag contents found on the page.
chain[n] → html_info → h3array
Text of the H3 headings found on the page.
final_url → urlstring
The last URL reached after following all redirects.
final_url → protocolstring
HTTP protocol version of the final response.
final_url → statusstring
Status of the final URL: online (2xx), redirect (3xx terminal), client_error (4xx), server_error (5xx), offline (no response).
final_url → status_codeinteger
HTTP status code of the final response. 0 if no response was received.
final_url → status_messagestring
HTTP status message of the final response.
elapsed_msinteger
Time taken to process the request, in milliseconds.
Optional response fields
Several optional request parameters add extra fields to the JSON response, example:
{
"url": "https://www.wikipedia.org/",
"include_response_headers": true,
"include_response_body": true,
"include_response_body_text": true,
"include_links": true,
"include_forms": true,
"include_favicon_details": true,
"include_og_image_details": true,
"verify_ssl": true,
"check_ssl_revocation": true
}Each enabled option adds the following fields to the response:
include_response_headers
Addsresponse_headers
WhereChain hopInside each redirect chain hop
include_response_body
Addsbody_base64body_md5_hash_originalbody_size_bytesbody_truncated
WhereChain hopOnly on hops that return a 200 status code
include_response_body_text
Addsbody_text
WhereChain hopOn chain hops that return a 200 status code
include_favicon_details
Addsfavicon_details
WhereChain hopOn chain hops that return a 200 status code
include_og_image_details
Addsog_image_details
WhereChain hopOn chain hops that return a 200 status code
include_links
Addslinks
WhereChain hopOn chain hops that return a 200 status code
include_forms
Addsforms
WhereChain hopOn chain hops that return a 200 status code
verify_ssl
Addsvalid_sslssl_details
WhereChain hopOn HTTPS hops, with certificate details
check_ssl_revocation
Addsrevoked
WhereSSL detailsInside the ssl_details object
Example response for the request payload above:
{
"url": "https://www.wikipedia.org/",
"unwrapped_url": "",
"debug_message": "",
"chain_status": "complete",
"redirect_stats": {
"redirects_found": 0,
"followed_redirects": 0,
"duplicate_redirects": 0,
"http_to_https_redirects": 0,
"https_to_http_redirects": 0,
"external_redirects": 0,
"same_origin_redirects": 0,
"cross_origin_redirects": 0
},
"request_stats": {
"total_requests": 1,
"failed_requests": 0,
"slow_requests": 0,
"ssl_errors": 0,
"avg_elapsed_ms": 285,
"max_elapsed_ms": 374
},
"chain": [
{
"url": "https://www.wikipedia.org/",
"hop": 0,
"protocol": "HTTP/1.1",
"status_code": 200,
"status_message": "OK",
"content_type": "text/html",
"can_resolve": true,
"connection_error": false,
"ip": "208.80.154.224",
"response_headers": {
"accept-ranges": [
"bytes"
],
"age": [
"10766"
],
"cache-control": [
"s-maxage=86400, must-revalidate, max-age=3600"
],
"content-type": [
"text/html"
],
"date": [
"Thu, 05 Mar 2026 12:19:43 GMT"
],
"etag": [
"W/\"1fb73-64b80643ed380\""
],
"last-modified": [
"Mon, 23 Feb 2026 16:37:50 GMT"
],
"nel": [
"{ \"report_to\": \"wm_nel\", \"max_age\": 604800, \"failure_fraction\": 0.05, \"success_fraction\": 0.0}"
],
"report-to": [
"{ \"group\": \"wm_nel\", \"max_age\": 604800, \"endpoints\": [{ \"url\": \"https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0\" }] }"
],
"server": [
"ATS/9.2.11"
],
"server-timing": [
"cache;desc=\"hit-front\", host;desc=\"cp6014\""
],
"set-cookie": [
"WMF-Last-Access=05-Mar-2026;Path=/;HttpOnly;secure;Expires=Mon, 06 Apr 2026 12:00:00 GMT",
"WMF-Last-Access-Global=05-Mar-2026;Path=/;Domain=.wikipedia.org;HttpOnly;secure;Expires=Mon, 06 Apr 2026 12:00:00 GMT",
"GeoIP=IT:25:Milan:45.47:9.19:v4; Path=/; secure; Domain=.wikipedia.org",
"NetworkProbeLimit=0.001;Path=/;Secure;SameSite=None;Max-Age=3600",
"WMF-Uniq=Q-g5NIrOuPSTt1PWYtcIXwMaAAAAAFvdxYk6NVLI8rtq6pxtaEKbKNRjpbIF58FU;Domain=.wikipedia.org;Path=/;HttpOnly;secure;SameSite=None;Expires=Fri, 05 Mar 2027 00:00:00 GMT"
],
"strict-transport-security": [
"max-age=106384710; includeSubDomains; preload"
],
"x-analytics": [
""
],
"x-cache": [
"cp6016 miss, cp6014 hit/137255"
],
"x-cache-status": [
"hit-front"
],
"x-client-ip": [
"2a03:f80:39:b25e::1"
],
"x-request-id": [
"c2e5f414-d4b1-4b92-a71a-6a5a89d62a9e"
]
},
"cookies": [
{
"name": "WMF-Last-Access",
"value": "05-Mar-2026",
"domain": "www.wikipedia.org",
"path": "/",
"expires": "Mon, 06 Apr 2026 12:00:00 UTC",
"size": 26,
"http_only": true,
"secure": true,
"same_site": ""
},
{
"name": "WMF-Last-Access-Global",
"value": "05-Mar-2026",
"domain": ".wikipedia.org",
"path": "/",
"expires": "Mon, 06 Apr 2026 12:00:00 UTC",
"size": 33,
"http_only": true,
"secure": true,
"same_site": ""
},
{
"name": "GeoIP",
"value": "IT:25:Milan:45.47:9.19:v4",
"domain": ".wikipedia.org",
"path": "/",
"expires": "",
"size": 30,
"http_only": false,
"secure": true,
"same_site": ""
},
{
"name": "NetworkProbeLimit",
"value": "0.001",
"domain": "www.wikipedia.org",
"path": "/",
"expires": "",
"size": 22,
"http_only": false,
"secure": true,
"same_site": "none"
},
{
"name": "WMF-Uniq",
"value": "Q-g5NIrOuPSTt1PWYtcIXwMaAAAAAFvdxYk6NVLI8rtq6pxtaEKbKNRjpbIF58FU",
"domain": ".wikipedia.org",
"path": "/",
"expires": "Fri, 05 Mar 2027 00:00:00 UTC",
"size": 72,
"http_only": true,
"secure": true,
"same_site": "none"
}
],
"body_base64": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiBjbGFzcz0ibm8tanMiPgo8aGVhZD4KPG1ld...",
"body_md5_hash_original": "46371d029de140b336cb01e7041e216b",
"body_size_bytes": 129906,
"body_text": "Wikipedia Wikipedia The Free Encyclopedia \nWikipedia 25 years of the free encyclopedia \nEnglish 7,141,000+ articles...",
"body_truncated": false,
"html_info": {
"title": "Wikipedia",
"description": "Wikipedia is a free online encyclopedia, created and edited by volunteers around the world and hosted by the Wikimedia Foundation.",
"keywords": "",
"author": "",
"robots": "",
"googlebot": "",
"canonical": "",
"og_image": "https://upload.wikimedia.org/wikipedia/en/thumb/8/80/Wikipedia-logo-v2.svg/2244px-Wikipedia-logo-v2.svg.png",
"og_type": "website",
"og_site_name": "",
"og_url": "",
"article_publisher": "",
"twitter_site": "",
"fb_app_id": "",
"ld_organization": "",
"ld_url": "",
"ld_logo": "",
"ld_same_as": [],
"generator": [],
"refresh_url": "",
"apple_itunes_app_id": "",
"apple_itunes_app_name": "",
"icon": "https://www.wikipedia.org/static/favicon/wikipedia.ico",
"apple_touch_icon": [
{
"size": "",
"href": "https://www.wikipedia.org/static/apple-touch/wikipedia.png"
}
],
"lang": "en",
"hreflang": [],
"h1": [
"Wikipedia The Free Encyclopedia",
"Wikipedia 25 years of the free encyclopedia"
],
"h2": [
"Unlock birthday surprises on Wikipedia",
"1,000,000+ articles",
"100,000+ articles",
"10,000+ articles",
"1,000+ articles",
"100+ articles"
],
"h3": []
},
"links": {
"a": {
"internal": [],
"external": [
"https://my.wikipedia.org/",
"https://sat.wikipedia.org/",
"https://za.wikipedia.org/",
"https://pfl.wikipedia.org/",
"https://rm.wikipedia.org/",
"https://hu.wikipedia.org/",
...
]
},
"script": {
"internal": [
"https://www.wikipedia.org/portal/wikipedia.org/assets/js/index-90de98612a.js",
"https://www.wikipedia.org/portal/wikipedia.org/assets/js/gt-ie9-507b16b6be.js"
],
"external": []
},
"inline": {
"internal": [],
"external": []
},
"img": {
"internal": [
"https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png"
],
"external": []
},
"link": {
"internal": [
"https://www.wikipedia.org/static/favicon/wikipedia.ico",
"https://www.wikipedia.org/static/apple-touch/wikipedia.png"
],
"external": [
"https://upload.wikimedia.org",
"https://wikis.world/@wikipedia",
"https://creativecommons.org/licenses/by-sa/4.0/"
]
},
"form": {
"internal": [
"https://www.wikipedia.org/search-redirect.php"
],
"external": []
},
"iframe": {
"internal": [],
"external": []
},
"embed": {
"internal": [],
"external": []
},
"object": {
"internal": [],
"external": []
}
},
"forms": [
{
"id": "search-form",
"class": "pure-form",
"method": "",
"action": "https://www.wikipedia.org/search-redirect.php",
"enctype": "",
"target": "",
"autocomplete": "",
"has_password_fields": false,
"has_hidden_fields": true,
"components": [
{
"tag": "input",
"type": "hidden",
"id": "",
"name": "family",
"class": "",
"placeholder": "",
"value": "wikipedia",
"required": false,
"minlength": "",
"maxlength": "",
"text": ""
},
{
"tag": "input",
"type": "search",
"id": "searchInput",
"name": "search",
"class": "",
"placeholder": "",
"value": "",
"required": false,
"minlength": "",
"maxlength": "",
"text": ""
},
{
"tag": "select",
"type": "",
"id": "searchLanguage",
"name": "language",
"class": "",
"placeholder": "",
"value": "",
"required": false,
"minlength": "",
"maxlength": "",
"text": ""
},
{
"tag": "button",
"type": "submit",
"id": "",
"name": "",
"class": "pure-button pure-button-primary-progressive",
"placeholder": "",
"value": "",
"required": false,
"minlength": "",
"maxlength": "",
"text": "Search"
},
{
"tag": "input",
"type": "hidden",
"id": "",
"name": "go",
"class": "",
"placeholder": "",
"value": "Go",
"required": false,
"minlength": "",
"maxlength": "",
"text": ""
}
],
"text_only": "Search Wikipedia Afrikaans Shqip العربية Asturianu Azərbaycanca...",
}
],
"favicon_details": {
"base64_file": "AAABAAMAMDAQAAEABABoBgAANgAAACAg...",
"md5_hash": "904ce6bd2ef5e1eaa6de1eb02164436b",
"image_width": 48,
"image_height": 48,
"file_size_bytes": 2734,
"file_size_readable": "2.7 KB"
},
"og_image_details": {
"base64_file": "iVBORw0KGgoAAAANSUhEUgAACMQAAAg...",
"md5_hash": "5a294517cb0e591ba2f2f07b21f7477c",
"image_width": 2244,
"image_height": 2048,
"file_size_bytes": 951071,
"file_size_readable": "928.8 KB"
},
"url_parts": {
"scheme": "https",
"host": "www.wikipedia.org",
"host_nowww": "wikipedia.org",
"port": 443,
"path": "/",
"query": ""
},
"domain_parts": {
"root_domain": "wikipedia.org",
"subdomain": "www",
"tld": "org"
},
"valid_ssl": true,
"ssl_details": {
"certificate_found": true,
"ssl_errors": false,
"name_match": true,
"expired": false,
"revoked": false,
"valid": true,
"self_signed": false,
"issuer": {
"common_name": "E8",
"organization": [
"Let's Encrypt"
],
"organizational_unit": [],
"location": [],
"state": [],
"country": [
"US"
]
},
"subject": {
"common_name": "*.wikipedia.org",
"organization": [],
"organizational_unit": [],
"location": [],
"state": [],
"country": []
},
"valid_from": "Fri, 06 Feb 2026 21:41:32 UTC",
"valid_to": "Thu, 07 May 2026 21:41:31 UTC",
"valid_days_left": 63,
"expired_from_days": 0,
"serial_number": "666163cc3790d2d917d56a0dd1c87974320",
"fingerprint_sha1": "2c9db350d2b084116c7a12bb629b7397d42da8fa",
"fingerprint_sha256": "3461aaf30b87e6ffb74969ae7a96efa4e8e1c6a2a39a213ed3abd5d17de9279f",
"algorithm": "ECDSA-SHA384",
"key_algorithm": "ECDSA",
"key_size": 256,
"type": "Domain Validation"
},
"elapsed_ms": 795
}
],
"final_url": {
"url": "https://www.wikipedia.org/",
"protocol": "HTTP/1.1",
"status": "online",
"status_code": 200,
"status_message": "OK"
},
"elapsed_ms": 795
}