{"openapi":"3.1.0","info":{"title":"Website Contact Extractor API (emails, phones, socials)","version":"1.0.0","description":"Emails, phone numbers, social media profiles, postal address, contact form and contact pages of any company website in one call. The API reads the home page plus the most likely contact pages (contact, imprint/Impressum, locations, about, team, support; in English, German, French, Spanish, Italian, Dutch, Japanese, Chinese and Korean wording), decodes obfuscated and Cloudflare-protected emails, validates phone numbers per country (E.164 output) and keeps only the site's own social profiles. Only information a company publishes on its own public website is returned: nothing is guessed, generated or bought, and nothing behind a login is read.\n\nAll endpoints accept GET (query string) or POST (JSON body). Errors use one shape: `{\"success\": false, \"error\": {\"code\", \"message\", \"retryable\"}}`. When a numeric `Retry-After` header is present, `error.retryAfterSeconds` is included.","contact":{"name":"TidyTools","url":"https://apify.com/tidytools"}},"servers":[{"url":"https://webcapture-api.yukailin.workers.dev","description":"Origin (reachable only through the marketplace gateway)"}],"tags":[{"name":"Contacts"}],"paths":{"/api/v1/contacts":{"get":{"operationId":"contactsGet","summary":"Extract contact details from a website (GET)","description":"Reads the home page and up to `maxPages - 1` likely contact pages over plain HTTP (a real browser only as a fallback with `render=auto`, for the home page only) and returns de-duplicated emails, phones (E.164), faxes, social profiles, address, logo, contact form and the contact pages found, with the page and method where each value was found (`includeDetails`).","tags":["Contacts"],"parameters":[{"name":"url","schema":{"type":"string"},"description":"Company website: a domain (`stripe.com`), a URL or an e-mail address (its domain is used). A path in the URL (e.g. `acme.com/de`) is read too. Aliases: `domain`, `website`. Private, local and cloud-metadata addresses are refused.","required":true,"example":"stumptowncoffee.com","in":"query"},{"name":"maxPages","schema":{"type":"integer","default":5,"minimum":1,"maximum":8},"description":"Pages read per site, the home page included.","required":false,"in":"query"},{"name":"render","schema":{"type":"string","default":"auto","enum":["auto","never"]},"description":"`auto` (default): plain HTTP first, a real Chrome browser (home page only) only when the site blocks plain requests or needs JavaScript. `never`: plain HTTP only (fastest).","required":false,"in":"query"},{"name":"includeDetails","schema":{"type":"boolean","default":true},"description":"Include where each value was found (`emailDetails`, `phoneDetails`, `socialProfileSources`, `contactForms`, `organization`, `otherSocialLinks`).","required":false,"in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"url":{"type":"string"},"domain":{"type":"string"},"finalUrl":{"type":"string"},"organizationName":{"type":"string"},"primaryEmail":{"type":"string"},"primaryPhone":{"type":"string"},"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"faxes":{"type":"array","items":{}},"socialProfiles":{"type":"object","properties":{"instagram":{"type":"string"},"facebook":{"type":"string"},"x":{"type":"string"},"youtube":{"type":"string"},"tiktok":{"type":"string"},"pinterest":{"type":"string"}}},"address":{"type":"string"},"addressDetails":{"type":"object","properties":{"street":{"type":"string"},"locality":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"country":{"type":"string","nullable":true},"formatted":{"type":"string"}}},"country":{"type":"string"},"logo":{"type":"string","nullable":true},"contactFormUrl":{"type":"string","nullable":true},"contactPages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"kind":{"type":"string"}}}},"foundAnything":{"type":"boolean"},"title":{"type":"string"},"language":{"type":"string"},"renderedWith":{"type":"string"},"pagesChecked":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"kind":{"type":"string"},"via":{"type":"string"},"httpStatus":{"type":"integer"}}}},"pagesFailed":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"error":{"type":"string"},"httpStatus":{"type":"integer","nullable":true}}}},"emailDetails":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"page":{"type":"string"},"method":{"type":"string"},"sameDomain":{"type":"boolean"}}}},"phoneDetails":{"type":"array","items":{"type":"object","properties":{"number":{"type":"string"},"display":{"type":"string"},"national":{"type":"string"},"country":{"type":"string"},"type":{"type":"string"},"page":{"type":"string"},"method":{"type":"string"}}}},"socialProfileSources":{"type":"object","properties":{"instagram":{"type":"string"},"facebook":{"type":"string"},"x":{"type":"string"},"youtube":{"type":"string"},"tiktok":{"type":"string"},"pinterest":{"type":"string"}}},"otherSocialLinks":{"type":"array","items":{}},"organization":{"type":"object","properties":{"name":{"type":"string"},"legalName":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"},"page":{"type":"string"}}},"contactForms":{"type":"array","items":{}},"redirectedTo":{"type":"string","description":"The site redirected to another domain; its details may belong to that site."},"warning":{"type":"string"},"fallbackReason":{"type":"string","description":"Why a real browser was used (render=auto)."},"skippedPages":{"type":"array","items":{"type":"string"},"description":"Contact pages not read because the time or request budget ran out (the answer is then not cached; header x-partial: true)."}}},"example":{"success":true,"url":"https://stumptowncoffee.com/","domain":"stumptowncoffee.com","finalUrl":"https://www.stumptowncoffee.com/","organizationName":"Stumptown Coffee Roasters","primaryEmail":"info@stumptowncoffee.com","primaryPhone":"+18777113385","emails":["info@stumptowncoffee.com","legal@stumptown.com","customerservice@stumptown.com"],"phones":["+18777113385","+18332672844","+18557113385","+18003525267"],"faxes":[],"socialProfiles":{"instagram":"https://www.instagram.com/stumptowncoffee","facebook":"https://www.facebook.com/stumptowncoffee","x":"https://twitter.com/stumptowncoffee","youtube":"https://www.youtube.com/channel/UC0yk_H5Np-uGvy98UM-jj6w","tiktok":"https://www.tiktok.com/@stumptowncoffee","pinterest":"https://www.pinterest.com/stumptowncoffee"},"address":"700 SW 5th Ave, 3rd Floor, #400, 97214 Portland, OR","addressDetails":{"street":"700 SW 5th Ave, 3rd Floor, #400","locality":"Portland","region":"OR","postalCode":"97214","country":null,"formatted":"700 SW 5th Ave, 3rd Floor, #400, 97214 Portland, OR"},"country":"US","logo":"https://customers.seomanager.com/knowledgegraph/logo/stumptowncoffee_myshopify_com_logo.png","contactFormUrl":null,"contactPages":[{"url":"https://www.stumptowncoffee.com/pages/contact-us","kind":"contact"},{"url":"https://www.stumptowncoffee.com/pages/locations","kind":"locations"},{"url":"https://www.stumptowncoffee.com/pages/our-story","kind":"about"},{"url":"https://www.stumptowncoffee.com/pages/terms-and-conditions","kind":"legal"}],"foundAnything":true,"title":"Craft Coffee Beans Online & In Shops | Stumptown Coffee Roasters","language":"en","renderedWith":"http","pagesChecked":[{"url":"https://www.stumptowncoffee.com/","kind":"home","via":"http","httpStatus":200},{"url":"https://www.stumptowncoffee.com/pages/contact-us","kind":"contact","via":"http","httpStatus":200},{"url":"https://www.stumptowncoffee.com/pages/locations","kind":"locations","via":"http","httpStatus":200},{"url":"https://www.stumptowncoffee.com/pages/our-story","kind":"about","via":"http","httpStatus":200}],"pagesFailed":[],"emailDetails":[{"email":"info@stumptowncoffee.com","page":"https://www.stumptowncoffee.com/","method":"jsonld","sameDomain":true},{"email":"legal@stumptown.com","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text","sameDomain":false},{"email":"customerservice@stumptown.com","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text","sameDomain":false}],"phoneDetails":[{"number":"+18777113385","display":"877-711-3385","national":"(877) 711-3385","country":"US","type":"phone","page":"https://www.stumptowncoffee.com/","method":"jsonld"},{"number":"+18332672844","display":"(833) 267-2844","national":"(833) 267-2844","country":"US","type":"phone","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text"},{"number":"+18557113385","display":"1-855-711-3385","national":"(855) 711-3385","country":"US","type":"phone","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text"},{"number":"+18003525267","display":"1-800-352-5267","national":"(800) 352-5267","country":"US","type":"phone","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text"}],"socialProfileSources":{"instagram":"https://www.stumptowncoffee.com/","facebook":"https://www.stumptowncoffee.com/","x":"https://www.stumptowncoffee.com/","youtube":"https://www.stumptowncoffee.com/","tiktok":"https://www.stumptowncoffee.com/","pinterest":"https://www.stumptowncoffee.com/"},"otherSocialLinks":[],"organization":{"name":"Stumptown Coffee Roasters","legalName":"Stumptown Coffee Roasters","type":"Organization","url":"https://www.stumptowncoffee.com/","page":"https://www.stumptowncoffee.com/"},"contactForms":[]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"contacts","summary":"Extract contact details from a website","description":"Reads the home page and up to `maxPages - 1` likely contact pages over plain HTTP (a real browser only as a fallback with `render=auto`, for the home page only) and returns de-duplicated emails, phones (E.164), faxes, social profiles, address, logo, contact form and the contact pages found, with the page and method where each value was found (`includeDetails`).\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["Contacts"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Company website: a domain (`stripe.com`), a URL or an e-mail address (its domain is used). A path in the URL (e.g. `acme.com/de`) is read too. Aliases: `domain`, `website`. Private, local and cloud-metadata addresses are refused."},"maxPages":{"type":"integer","default":5,"minimum":1,"maximum":8,"description":"Pages read per site, the home page included."},"render":{"type":"string","default":"auto","enum":["auto","never"],"description":"`auto` (default): plain HTTP first, a real Chrome browser (home page only) only when the site blocks plain requests or needs JavaScript. `never`: plain HTTP only (fastest)."},"includeDetails":{"type":"boolean","default":true,"description":"Include where each value was found (`emailDetails`, `phoneDetails`, `socialProfileSources`, `contactForms`, `organization`, `otherSocialLinks`)."}},"required":["url"]}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"url":{"type":"string"},"domain":{"type":"string"},"finalUrl":{"type":"string"},"organizationName":{"type":"string"},"primaryEmail":{"type":"string"},"primaryPhone":{"type":"string"},"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"faxes":{"type":"array","items":{}},"socialProfiles":{"type":"object","properties":{"instagram":{"type":"string"},"facebook":{"type":"string"},"x":{"type":"string"},"youtube":{"type":"string"},"tiktok":{"type":"string"},"pinterest":{"type":"string"}}},"address":{"type":"string"},"addressDetails":{"type":"object","properties":{"street":{"type":"string"},"locality":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"country":{"type":"string","nullable":true},"formatted":{"type":"string"}}},"country":{"type":"string"},"logo":{"type":"string","nullable":true},"contactFormUrl":{"type":"string","nullable":true},"contactPages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"kind":{"type":"string"}}}},"foundAnything":{"type":"boolean"},"title":{"type":"string"},"language":{"type":"string"},"renderedWith":{"type":"string"},"pagesChecked":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"kind":{"type":"string"},"via":{"type":"string"},"httpStatus":{"type":"integer"}}}},"pagesFailed":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"error":{"type":"string"},"httpStatus":{"type":"integer","nullable":true}}}},"emailDetails":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"page":{"type":"string"},"method":{"type":"string"},"sameDomain":{"type":"boolean"}}}},"phoneDetails":{"type":"array","items":{"type":"object","properties":{"number":{"type":"string"},"display":{"type":"string"},"national":{"type":"string"},"country":{"type":"string"},"type":{"type":"string"},"page":{"type":"string"},"method":{"type":"string"}}}},"socialProfileSources":{"type":"object","properties":{"instagram":{"type":"string"},"facebook":{"type":"string"},"x":{"type":"string"},"youtube":{"type":"string"},"tiktok":{"type":"string"},"pinterest":{"type":"string"}}},"otherSocialLinks":{"type":"array","items":{}},"organization":{"type":"object","properties":{"name":{"type":"string"},"legalName":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"},"page":{"type":"string"}}},"contactForms":{"type":"array","items":{}},"redirectedTo":{"type":"string","description":"The site redirected to another domain; its details may belong to that site."},"warning":{"type":"string"},"fallbackReason":{"type":"string","description":"Why a real browser was used (render=auto)."},"skippedPages":{"type":"array","items":{"type":"string"},"description":"Contact pages not read because the time or request budget ran out (the answer is then not cached; header x-partial: true)."}}},"example":{"success":true,"url":"https://stumptowncoffee.com/","domain":"stumptowncoffee.com","finalUrl":"https://www.stumptowncoffee.com/","organizationName":"Stumptown Coffee Roasters","primaryEmail":"info@stumptowncoffee.com","primaryPhone":"+18777113385","emails":["info@stumptowncoffee.com","legal@stumptown.com","customerservice@stumptown.com"],"phones":["+18777113385","+18332672844","+18557113385","+18003525267"],"faxes":[],"socialProfiles":{"instagram":"https://www.instagram.com/stumptowncoffee","facebook":"https://www.facebook.com/stumptowncoffee","x":"https://twitter.com/stumptowncoffee","youtube":"https://www.youtube.com/channel/UC0yk_H5Np-uGvy98UM-jj6w","tiktok":"https://www.tiktok.com/@stumptowncoffee","pinterest":"https://www.pinterest.com/stumptowncoffee"},"address":"700 SW 5th Ave, 3rd Floor, #400, 97214 Portland, OR","addressDetails":{"street":"700 SW 5th Ave, 3rd Floor, #400","locality":"Portland","region":"OR","postalCode":"97214","country":null,"formatted":"700 SW 5th Ave, 3rd Floor, #400, 97214 Portland, OR"},"country":"US","logo":"https://customers.seomanager.com/knowledgegraph/logo/stumptowncoffee_myshopify_com_logo.png","contactFormUrl":null,"contactPages":[{"url":"https://www.stumptowncoffee.com/pages/contact-us","kind":"contact"},{"url":"https://www.stumptowncoffee.com/pages/locations","kind":"locations"},{"url":"https://www.stumptowncoffee.com/pages/our-story","kind":"about"},{"url":"https://www.stumptowncoffee.com/pages/terms-and-conditions","kind":"legal"}],"foundAnything":true,"title":"Craft Coffee Beans Online & In Shops | Stumptown Coffee Roasters","language":"en","renderedWith":"http","pagesChecked":[{"url":"https://www.stumptowncoffee.com/","kind":"home","via":"http","httpStatus":200},{"url":"https://www.stumptowncoffee.com/pages/contact-us","kind":"contact","via":"http","httpStatus":200},{"url":"https://www.stumptowncoffee.com/pages/locations","kind":"locations","via":"http","httpStatus":200},{"url":"https://www.stumptowncoffee.com/pages/our-story","kind":"about","via":"http","httpStatus":200}],"pagesFailed":[],"emailDetails":[{"email":"info@stumptowncoffee.com","page":"https://www.stumptowncoffee.com/","method":"jsonld","sameDomain":true},{"email":"legal@stumptown.com","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text","sameDomain":false},{"email":"customerservice@stumptown.com","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text","sameDomain":false}],"phoneDetails":[{"number":"+18777113385","display":"877-711-3385","national":"(877) 711-3385","country":"US","type":"phone","page":"https://www.stumptowncoffee.com/","method":"jsonld"},{"number":"+18332672844","display":"(833) 267-2844","national":"(833) 267-2844","country":"US","type":"phone","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text"},{"number":"+18557113385","display":"1-855-711-3385","national":"(855) 711-3385","country":"US","type":"phone","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text"},{"number":"+18003525267","display":"1-800-352-5267","national":"(800) 352-5267","country":"US","type":"phone","page":"https://www.stumptowncoffee.com/pages/terms-and-conditions","method":"text"}],"socialProfileSources":{"instagram":"https://www.stumptowncoffee.com/","facebook":"https://www.stumptowncoffee.com/","x":"https://www.stumptowncoffee.com/","youtube":"https://www.stumptowncoffee.com/","tiktok":"https://www.stumptowncoffee.com/","pinterest":"https://www.stumptowncoffee.com/"},"otherSocialLinks":[],"organization":{"name":"Stumptown Coffee Roasters","legalName":"Stumptown Coffee Roasters","type":"Organization","url":"https://www.stumptowncoffee.com/","page":"https://www.stumptowncoffee.com/"},"contactForms":[]}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["success","error"],"properties":{"success":{"const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["not_configured","unauthorized","not_found","method_not_allowed","invalid_request","rate_limited","url_not_allowed","target_blocked","target_unreachable","target_error","unsupported_content","too_large","timeout","upstream_error","board_not_found","app_not_found"]},"message":{"type":"string"},"retryable":{"type":"boolean","description":"true for rate_limited, timeout, upstream_error and browser_busy; false for other errors."},"retryAfterSeconds":{"type":"integer","description":"Seconds to wait before retrying, when a numeric Retry-After header is present."},"details":{"type":"object","additionalProperties":true}}}}}}}}