apyhub
DATA EXTRACTION · DATA VALIDATION

Extract Contact Information API

What it does

Contact Extraction pulls contact details from a webpage URL and returns the values it finds in a structured response. Send a page URL, and extract emails, phone numbers, addresses, and social links from the content.

Use Contact Extraction when you need to turn public web pages into usable lead or contact records. The request body only needs a url, so it fits cleanly into scraping workflows, prospecting pipelines, or site audits where you want to verify whether a business page exposes contact information.

The response includes emails, phones, addresses, and social_links, plus a source_url so you can trace the result back to the page that was processed. It also returns confidence scores for emails, phones, and social, which can help you filter low-quality matches or prioritize manual review.

If you are building enrichment or validation steps around website content, Contact Extraction gives you the contact fields in a predictable JSON format without forcing you to parse the page yourself.

POST
Extract Contact Information
http://localhost:8080/chisleroff/extract-contact-information
QUICKSTARTGUIDE

Quickstart

Send the webpage URL you want to scan for contact details.

curl -X POST "http://localhost:8080/chisleroff/extract-contact-information" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://apyhub.com/blog"}'

What you'll get back

Returns a JSON object with these top-level fields when they are found: emails, phones, and addresses are arrays of strings; confidence is an object with numeric emails, phones, and social scores; source_url is the page URL used for extraction; and social_links is an object whose values are social profile URLs.

{
  "emails": [
    "[email protected]"
  ],
  "phones": [
    "+31508080421"
  ],
  "addresses": [
    "Keizersgracht 520H, Amsterdam, North Holland, 1017EK, NL"
  ],
  "social_links": {
    "x": "https://x.com/apyhub",
    "linkedin": "https://www.linkedin.com/company/apyhub",
    "instagram": "https://www.instagram.com/apyhub/",
    "youtube": "https://www.youtube.com/@apyhub",
    "facebook": "https://www.facebook.com/apyhub"
  },
  "source_url": "https://apyhub.com/blog",
  "confidence": {
    "emails": 0.91,
    "phones": 0.89,
    "addresses": 0.88,
    "social": 0.9
  }
}
TRY ITLIVE · 100 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
URL of the webpage to extract, audit, or validate content from (http/https only).

About this endpoint

What it does

Extracts contact details from a webpage identified by URL and returns the discovered contact-related fields in a JSON object.

Request Body

ParameterTypeMandatoryDescription
urlStringYesURL of the webpage to extract, audit, or validate content from. Must be an http or https URI.

Response

Returns a JSON object with emails, phones, addresses, confidence, source_url, and social_links fields. The collection fields are arrays of strings, confidence is an object with numeric confidence scores, source_url is a URI string, and social_links is an object whose values are URI strings.

ParameterTypeMandatoryDescription
emailsString ArrayNoExtracted email addresses.
phonesString ArrayNoExtracted phone numbers.
addressesString ArrayNoExtracted addresses.
confidenceObjectNoConfidence scores for extracted fields. Contains emails, phones, and social numeric values.
confidence.emailsNumberNoConfidence score for emails.
confidence.phonesNumberNoConfidence score for phones.
confidence.socialNumberNoConfidence score for social links.
source_urlStringNoSource webpage URL, formatted as a URI.
social_linksObjectNoSocial links keyed by property name; each value is a URI string.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.