US Address SaaS Working name
Developer preview. The API is not available. Everything on these pages describes a local prototype that returns simulated data; no real address data provider is connected.
Local prototype · simulated data

Demo API

Keyless, rate-limited endpoints for the marketing site demo. Simulated data only.

Website demo only. These keyless endpoints power the product preview on the marketing site. They are rate-limited per client and always return simulated data. Build integrations on Autocomplete instead.
GET /demo/autocomplete

Website demo endpoint (no key, simulated data only)

Local prototype · simulated data

Authentication

No API key. Requests must come from an allowed website origin and are rate-limited per client.

Parameters

Parameters
NameInTypeRequiredDescription
qquerystringYes

Partial address typed by the user.

min length 2 · max length 100

limitqueryintegerNo

min 1 · max 10 · default 5

Responses

  • 200 Suggestions. — SuggestionList
  • 400 Invalid parameters. — Error
  • 403 Key not allowed for this Origin or endpoint. — Error
  • 429 Rate limit exceeded. — Error
Response fields (200)
Response fields
FieldTypeRequiredDescription
dataarray of objectYes

max 10 items

data[].idstringYes

pattern ^sug_[a-f0-9]{12}$

data[].labelstringYes
data[].street_linestringYes
data[].secondarystring | nullYes
data[].citystringYes
data[].statestringYes

min length 2 · max length 2

data[].zipstringYes

pattern ^[0-9]{5}$

data[].has_secondariesbooleanYes
data[].secondary_countintegerYes

min 0

metaobjectYes
meta.request_idstringYes
meta.sourceenum: "simulated", "live"Yes

simulated for mock data. live is reserved and is never produced by this version.

meta.billablebooleanYes

Always false in this version.

Example

cURL
curl "http://localhost:8787/demo/autocomplete?q=1600+penn&limit=3" \
  -H "Origin: http://localhost:8787"
JavaScript
// Browser code on an allowed origin. The browser sends the Origin header itself.
const res = await fetch("http://localhost:8787/demo/autocomplete?q=1600+penn&limit=3");
const body = await res.json();
if (!res.ok) throw new Error(body.error.code);

Response 200 from the local prototype (simulated data):

JSON
{
  "data": [
    {
      "id": "sug_5c363e6655b1",
      "label": "1600 Pennsylvania Ave NW, Washington, DC 20500",
      "street_line": "1600 Pennsylvania Ave NW",
      "secondary": null,
      "city": "Washington",
      "state": "DC",
      "zip": "20500",
      "has_secondaries": false,
      "secondary_count": 0
    }
  ],
  "meta": {
    "request_id": "req_0000000000000000docs",
    "source": "simulated",
    "billable": false
  }
}
GET /demo/addresses/{id}

Website demo selection endpoint (no key, simulated data only)

Local prototype · simulated data

Authentication

No API key. Requests must come from an allowed website origin and are rate-limited per client.

Parameters

Parameters
NameInTypeRequiredDescription
idpathstringYes

pattern ^sug_[a-f0-9]{12}$

secondaryquerystringNo

max length 20

Responses

  • 200 The selected address. — AddressDetail
  • 400 Invalid parameters. — Error
  • 403 Key not allowed for this Origin or endpoint. — Error
  • 404 Resource not found. — Error
  • 429 Rate limit exceeded. — Error
Response fields (200)
Response fields
FieldTypeRequiredDescription
dataobjectYes
data.idstringYes
data.street_linestringYes
data.citystringYes
data.statestringYes
data.zipstringYes
data.secondariesarray of stringYes

Units in the building (empty when there are none).

metaobjectYes
meta.request_idstringYes
meta.sourceenum: "simulated", "live"Yes

simulated for mock data. live is reserved and is never produced by this version.

meta.billablebooleanYes

Always false in this version.

Example

cURL
curl "http://localhost:8787/demo/addresses/sug_5c363e6655b1" \
  -H "Origin: http://localhost:8787"
JavaScript
// Browser code on an allowed origin. The browser sends the Origin header itself.
const res = await fetch("http://localhost:8787/demo/addresses/sug_5c363e6655b1");
const body = await res.json();
if (!res.ok) throw new Error(body.error.code);

Response 200 from the local prototype (simulated data):

JSON
{
  "data": {
    "id": "sug_5c363e6655b1",
    "street_line": "1600 Pennsylvania Ave NW",
    "city": "Washington",
    "state": "DC",
    "zip": "20500",
    "secondaries": []
  },
  "meta": {
    "request_id": "req_0000000000000000docs",
    "source": "simulated",
    "billable": false
  }
}

US Address SaaS is a working project name, not a registered company or trademark. All data shown is simulated.