For the complete documentation index, see llms.txt. This page is also available as Markdown.

Address

Deliverability, territory planning, and compliance all hinge on trustworthy postal data. Delpha's Address Finder and Address Validator keep your address records complete, correct, and standardized—so shipments arrive, analytics stay reliable, and teams can act with confidence.

What you get:

  • Completeness: Detects missing parts (number, street, city, postal code, country) and fills gaps when possible.

  • Validity: Verifies that addresses exist and follow country-specific postal rules.

  • Consistency: Compares your input to its normalized version to surface discrepancies.

  • Accuracy: Checks coherence against optional context (e.g., company name, legal ID).

Each request returns a normalized address—standardized and, when possible, enriched. If you provide context like a legal ID or company name, you'll also receive AI-backed recommendations with confidence scores (for example, the registered legal address that best matches your input).

Together, Address Finder and Address Validator transform messy inputs into dependable, action-ready address data.

Submit address for finding and validation

post

Submit an address for finding and validation. Returns a job ID for tracking the process.

Required scopes
This endpoint requires the following scopes:
  • : Access to the public API
Authorizations
OAuth2clientCredentialsRequired

OAuth2 client credentials flow for API access

Token URL:
Body

Payload to submit a new address quality job.

namestring · nullableOptional

The name of the entity

Example: Delpha
legal_idstring · nullableOptional

The legal ID of the entity

Example: 88052440000012
linkedinstring · nullableOptional

The LinkedIn URL of the entity

Example: https://www.linkedin.com/company/delphainc/
websitestring · nullableOptional

The website URL of the entity

Example: https://delpha.io/
Responses
202

Job submitted to assess_address_v16

application/json

Response after submitting a new address quality job.

job_idstring · nullableOptional

The job ID. Required if status <= 300.

Example: 21014abc65004d2781d2e0ef4c9fbb46
messagestringRequired

The message to return

Example: Job submitted to assess_address_v16
statusstring · enumRequired

The status of the process

Example: SUCCESSPossible values:
status_codeintegerRequired

The status code to return

Example: 202
post/v1/address

Get address finder and validator job status

get

Retrieve the result and status of a previously submitted address finder and validator job.

Required scopes
This endpoint requires the following scopes:
  • : Access to the public API
Authorizations
OAuth2clientCredentialsRequired

OAuth2 client credentials flow for API access

Token URL:
Path parameters
job_idstringRequired

The unique identifier of the address job

Example: {"summary":"Sample job ID","value":"21014abc65004d2781d2e0ef4c9fbb46"}
Responses
200

Job succeeded.

application/json

Response after retrieving the status and result of an address quality job.

messagestringRequired

A human-readable message describing the current state or outcome of the job.

Example: Job succeeded.
statusstring · enumRequired

The status of the process

Example: SUCCESSPossible values:
status_codeintegerRequired

The HTTP status code representing the job's current state.

Example: 200
process_timenumber · nullableOptional

The total time taken to process the job, in seconds.

Example: 0.123
get/v1/address/{job_id}

Submit a batch of address items

post

Submit 1..100 address items for asynchronous batch processing as ONE job (never a per-item fan-out). Returns a job_id immediately (202); poll GET /v1/address/batch/{job_id} for status and results. Each item is validated identically to the single-route POST /v1/address payload; a payload with 0 items or more than 100 is rejected with 422.

Required scopes
This endpoint requires the following scopes:
  • : Access to the public API
Authorizations
OAuth2clientCredentialsRequired

OAuth2 client credentials flow for API access

Token URL:
Body

Batch envelope for POST /v1/address/batch: {"items": [...]} (1..100 items, 422 beyond); each item is shaped exactly like the single-route POST /v1/address payload (reused here by $ref as AddressSubmitInput).

Responses
202

Batch submitted

application/json

Response after submitting a batch quality job.

job_idstring · nullableOptional

The job ID. Required if status <= 300.

Example: 21014abc65004d2781d2e0ef4c9fbb46
item_countinteger · nullableOptional

Number of items accepted in the batch (present on success).

Example: 100
messagestringRequired

The message to return

Example: Batch submitted
statusstring · enumRequired

The status of the process

Example: SUCCESSPossible values:
status_codeintegerRequired

The status code to return

Example: 202
post/v1/address/batch

Get address batch job status

get

Poll a batch of address items submitted via POST /v1/address/batch. 202 while running (with item_count/processed_count progress); 200 once SUCCEEDED (with counts, a presigned result_url, and result_data inlined when <=1MB); 409 if the credit reservation expired before delivery (resubmit); 500 if the job failed; 504 past the 24h ceiling (batch jobs run on Batch/Vertex timescales, hours not minutes).

Required scopes
This endpoint requires the following scopes:
  • : Access to the public API
Authorizations
OAuth2clientCredentialsRequired

OAuth2 client credentials flow for API access

Token URL:
Path parameters
job_idstringRequired

The unique identifier of the address batch job.

Example: {"summary":"Sample job ID","value":"21014abc65004d2781d2e0ef4c9fbb46"}
Responses
200

97/100 items succeeded

application/json

Response for GET /v1/address/batch/{job_id}. Each result_data.items[] entry is keyed to its request item by dispatch_key ({"record_id": "<job_id>#<index>"}). On success its result is the SAME object GET /v1/address/{job_id} returns for a single item. On failure it carries an error string instead of result.

messagestringRequired

A human-readable message describing the current state or outcome of the job.

Example: 97/100 items succeeded
statusstring · enumRequired

The status of the process

Example: SUCCESSPossible values:
status_codeintegerRequired

The HTTP status code representing the job's current state.

Example: 200
result_urlstring · nullableOptional

Presigned URL (1h expiry) to download the full batch result JSON from S3.

Example: https://delpha-api-batch-dev.s3.amazonaws.com/batch-results/<job_id>.json?...
item_countinteger · nullableOptional

Total number of items in the batch (present while the job is running).

processed_countinteger · nullableOptional

Number of items processed so far (present while the job is running; may be absent early in the job's lifecycle).

process_timenumber · nullableOptional

The total time taken to process the job, in seconds.

Example: 12.3
get/v1/address/batch/{job_id}

Last updated

Was this helpful?