apyhub
DATA EXTRACTION · DATA VALIDATION

Detect Email Address API

What it does

Email Address Detection scans a block of text and returns any email addresses it finds. Send the content in body.content, get back a job_id and status_url for the asynchronous job, then poll the job status endpoint with the job ID.

Use Email Address Detection when you need to pull contact addresses out of raw text from support tickets, lead notes, scraped pages, documents, or chat logs. It is useful when you already have unstructured content and need to isolate email addresses without building your own pattern-matching logic.

The status response returns a data object with id, type, and attributes. Inside attributes, you can read the job type, status, and result, where result is an array of strings containing the detected email addresses.

This service is a good fit for workflows that normalize inbound text before enrichment, CRM import, or validation steps. It gives you a simple async flow: submit content, check status, and read the extracted email list when the job completes.

▣ ENDPOINT 01 / 02
POST
Submit Detect Emails job
http://localhost:8080/sharpapi/detect-email-addresses
QUICKSTARTGUIDE

Quickstart

Submit text to detect email addresses asynchronously.

curl -X POST "http://localhost:8080/sharpapi/detect-email-addresses" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"Please contact [email protected] or [email protected] for help."}'

What you'll get back

Returns a JSON object with two string fields: job_id is the UUID of the submitted job, and status_url is the URI where you can check its status.

{
  "status_url": "https://apyhub.com/services/provider/sharpapi/api/v1/content/detect_emails/job/status/58751fe3-8097-45a2-9405-5480ef90b8d0",
  "job_id": "58751fe3-8097-45a2-9405-5480ef90b8d0"
}
TRY ITLIVE · 50 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*
Provide the content from where email addresses needs to be detected.

About this endpoint

What it does

Submits an asynchronous job to detect email addresses from the provided content. The request sends the text to analyze, and the response returns identifiers you can use to check job progress later.

Request Body

ParameterTypeMandatoryDescription
contentStringYesProvide the content from where email addresses needs to be detected.

Response

Returns a JSON object with two required string fields: job_id and status_url. job_id is the identifier of the submitted asynchronous job, and status_url is the URL used to check the submitted job status.

ParameterTypeMandatoryDescription
job_idStringYesIdentifier of the submitted asynchronous job.
status_urlStringYesURL used to check the submitted job status.

Notes

This endpoint kicks off an async job and returns immediately with a job identifier; the actual work runs in the background. Pair this call with the corresponding job_check endpoint — poll that until the status reaches a terminal state to retrieve the result. Use the returned job_id to track the job, and status_url to check its status.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 02
GET
Get Detect Emails job status
http://localhost:8080/sharpapi/detect-email-addresses/job/status/:job_id
QUICKSTARTGUIDE

Quickstart

Check the status of a detection job by replacing :job_id with your job UUID.

curl -X GET "http://localhost:8080/sharpapi/detect-email-addresses/job/status/:job_id" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with a data object. Inside data, id and type are strings, and attributes is an object containing type (string), result (an array of strings), and status (string).

{
  "data": {
    "id": "job_123",
    "type": "job",
    "attributes": {
      "type": "detect-email-addresses",
      "result": ["[email protected]", "[email protected]"],
      "status": "completed"
    }
  }
}
TRY ITLIVE · 1 ATOM
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves the current status of a Detect Emails job by its job ID. The response returns a JSON object with a data object containing the job id, type, and attributes, including the job status and any detected email addresses in result when available.

Path Parameter(s)

AttributeTypeMandatoryDescription
job_idStringYesJob identifier in UUID format.

Response

Returns a JSON object with a data object field. data contains id and type string fields, plus an attributes object with type, result, and status fields.

AttributeTypeMandatoryDescription
dataObjectNoJob record wrapper. Contains id, type, and attributes.
data.idStringNoJob identifier.
data.typeStringNoResource type.
data.attributesObjectNoJob attributes wrapper. Contains type, result, and status.
data.attributes.typeStringNoAttribute type.
data.attributes.resultString ArrayNoArray of detected email addresses.
data.attributes.statusStringNoJob status.

Path parameters

Name
Type
Description
job_idREQUIRED
string
▣ 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.