Overview

Smarty's US Extract API scans any block of unstructured text — emails, documents, web pages — and extracts all US postal addresses it finds, then validates each one against USPS data for deliverability. This is especially useful for parsing contact information from email bodies, CRM notes, or legacy data without structured address fields. The free plan includes a limited number of extractions per month.

Beginner Tip

Sign up at smarty.com for an API key and secret. The endpoint is `https://us-extract.api.smarty.com/` with a POST request containing the text in the body. Authentication uses `auth-id` and `auth-token` as query parameters. Each block of text submitted counts as one lookup regardless of how many addresses are found inside it.

Available Data

The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.

email delivery status
message ID
bounce/complaint data
open/click tracking

Example Response

Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.

JSON Response · Illustrative
{
  "message_id": "msg_abc123def456",
  "status": "delivered",
  "to": "[email protected]",
  "subject": "Welcome!",
  "timestamp": "2025-01-15T10:30:00Z"
}

Field Reference

meta Metadata about the extraction including `lines`, `unicode`, `address_count`, and `verified_count`.
addresses Array of address objects found in the submitted text.
addresses[].verified Whether the extracted address was validated as deliverable by USPS data.
addresses[].text The raw address text as it appeared in the original input.
addresses[].api_output Array of verification result objects (same format as US Street Address API output) for each extracted address.
addresses[].api_output[].deliverability USPS deliverability status for this extracted address.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://us-extract.api.smarty.com/?auth-id=YOUR_AUTH_ID&auth-token=YOUR_AUTH_TOKEN";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

401 Unauthorized Using the embedded key format instead of the secret key pair (auth-id + auth-token) required by US Extract.
US Extract is a server-side API. Use your `Auth ID` and `Auth Token` from the Smarty dashboard as `?auth-id=X&auth-token=Y` query parameters.
No addresses extracted from text that contains addresses The address is in an unusual format or lacks key components like a ZIP code or state.
Ensure the address includes at minimum a street number, street name, and either a city+state or ZIP code. P.O. Box formats may not always be detected.
Request body not being read Sending text as `application/json` when the API expects `text/plain`.
Set `Content-Type: text/plain` and send the raw text as the request body, not wrapped in a JSON object.

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS YES
Category Data Validation
Difficulty Intermediate
Listing details not endpoint-verified

Similar APIs

View All →