curl -X POST https://win.oneshotagent.com/v1/tools/resolve/place \
-H "Content-Type: application/json" \
-H "payment-signature: <base64 x402 payment>" \
-d '{
"address": "1600 Pennsylvania Ave NW, Washington, DC"
}'
const response = await fetch("https://win.oneshotagent.com/v1/tools/resolve/place", {
method: "POST",
headers: {
"Content-Type": "application/json",
"payment-signature": paymentProof,
},
body: JSON.stringify({
"address": "1600 Pennsylvania Ave NW, Washington, DC"
}),
});
const result = await agent.tool('resolve/place', {
address: '1600 Pennsylvania Ave NW, Washington, DC'
});
console.log(result.data.result);
console.log(result.data.evidence);
{
"success": true,
"data": {
"request_id": "uuid",
"receipt_id": "rcpt_...",
"status": "completed",
"tool": "place_resolve",
"result": {
"found": true,
"matched_address": "1600 PENNSYLVANIA AVE NW, WASHINGTON, DC, 20500",
"latitude": 38.898702605245,
"longitude": -77.035189204737,
"street": "1600 PENNSYLVANIA AVE NW",
"city": "WASHINGTON",
"state": "DC",
"postal_code": "20500",
"state_code": "11",
"county_code": "001",
"county_name": "District of Columbia",
"county_id": "11001",
"tract_id": "11001980000",
"block_id": "110019800001034",
"place_name": "Washington city",
"candidates": 1
},
"evidence": {
"source": "US Census Bureau",
"source_kind": "public",
"retrieved_at": "2026-01-15T12:00:00.000Z",
"as_of": null
}
}
}
Lookups
Place Resolve
Resolve a US street address to its coordinates and its state, county and census tract codes.
POST
/
v1
/
tools
/
resolve
/
place
curl -X POST https://win.oneshotagent.com/v1/tools/resolve/place \
-H "Content-Type: application/json" \
-H "payment-signature: <base64 x402 payment>" \
-d '{
"address": "1600 Pennsylvania Ave NW, Washington, DC"
}'
const response = await fetch("https://win.oneshotagent.com/v1/tools/resolve/place", {
method: "POST",
headers: {
"Content-Type": "application/json",
"payment-signature": paymentProof,
},
body: JSON.stringify({
"address": "1600 Pennsylvania Ave NW, Washington, DC"
}),
});
const result = await agent.tool('resolve/place', {
address: '1600 Pennsylvania Ave NW, Washington, DC'
});
console.log(result.data.result);
console.log(result.data.evidence);
{
"success": true,
"data": {
"request_id": "uuid",
"receipt_id": "rcpt_...",
"status": "completed",
"tool": "place_resolve",
"result": {
"found": true,
"matched_address": "1600 PENNSYLVANIA AVE NW, WASHINGTON, DC, 20500",
"latitude": 38.898702605245,
"longitude": -77.035189204737,
"street": "1600 PENNSYLVANIA AVE NW",
"city": "WASHINGTON",
"state": "DC",
"postal_code": "20500",
"state_code": "11",
"county_code": "001",
"county_name": "District of Columbia",
"county_id": "11001",
"tract_id": "11001980000",
"block_id": "110019800001034",
"place_name": "Washington city",
"candidates": 1
},
"evidence": {
"source": "US Census Bureau",
"source_kind": "public",
"retrieved_at": "2026-01-15T12:00:00.000Z",
"as_of": null
}
}
}
Resolve a US street address to the matched address, its latitude and longitude, and the codes for its state, county and census tract (plus census block and incorporated place when the source has them). Use it first when another fact about a place is keyed by state and county, or by coordinates, so an agent does not have to guess them. Street addresses in the United States only: no post-office boxes, no place names or landmarks, no addresses outside the US. Give the whole address on one line, for example “1600 Pennsylvania Ave NW, Washington, DC”. Only the best match is returned;
candidates is how many matches the source offered. An address that matches nothing is a completed result with found false and every other field null.
Authentication
Requires x402 payment in thepayment-signature header.
Request Body
string
required
A US street address on one line, with city and state or ZIP, for example 1600 Pennsylvania Ave NW, Washington, DC. 5 to 200 characters.
Response (200 OK)
Top-level envelope:success (boolean) and data (object). All fields below are nested under data.
string
Durable job ID for audit and lookup
string
Job status:
completedstring
Always
place_resolveobject
The answer, described under Result below
object
Where the answer came from and when
string
The public body the data comes from. Always
US Census Bureau.string
public when the data comes from a public body, commercial otherwisestring
When the lookup was made, as an ISO 8601 UTC time
string
When the source says the fact was last updated, or
null when the source gives no dateResult
Nested underdata.result.
boolean
False when the source matched no address.
string
The address as the source matched it, for example 1600 PENNSYLVANIA AVE NW, WASHINGTON, DC, 20500.
null when the source gives no value.number
Latitude.
null when the source gives no value.number
Longitude.
null when the source gives no value.string
House number and street of the matched address.
null when the source gives no value.string
City.
null when the source gives no value.string
Two-letter state postal code.
null when the source gives no value.string
Postal code.
null when the source gives no value.string
Two-digit state FIPS code, for example 11.
null when the source gives no value.string
Three-digit county FIPS code within the state, for example 001.
null when the source gives no value.string
County name.
null when the source gives no value.string
Five-digit county code (state + county), for example 11001.
null when the source gives no value.string
Eleven-digit census tract code, for example 11001980000.
null when the source gives no value.string
Fifteen-digit census block code.
null when the source gives no value.string
The incorporated place (city, town) the address is in; null outside one.
number
How many matches the source offered; only the first is returned.
curl -X POST https://win.oneshotagent.com/v1/tools/resolve/place \
-H "Content-Type: application/json" \
-H "payment-signature: <base64 x402 payment>" \
-d '{
"address": "1600 Pennsylvania Ave NW, Washington, DC"
}'
const response = await fetch("https://win.oneshotagent.com/v1/tools/resolve/place", {
method: "POST",
headers: {
"Content-Type": "application/json",
"payment-signature": paymentProof,
},
body: JSON.stringify({
"address": "1600 Pennsylvania Ave NW, Washington, DC"
}),
});
const result = await agent.tool('resolve/place', {
address: '1600 Pennsylvania Ave NW, Washington, DC'
});
console.log(result.data.result);
console.log(result.data.evidence);
{
"success": true,
"data": {
"request_id": "uuid",
"receipt_id": "rcpt_...",
"status": "completed",
"tool": "place_resolve",
"result": {
"found": true,
"matched_address": "1600 PENNSYLVANIA AVE NW, WASHINGTON, DC, 20500",
"latitude": 38.898702605245,
"longitude": -77.035189204737,
"street": "1600 PENNSYLVANIA AVE NW",
"city": "WASHINGTON",
"state": "DC",
"postal_code": "20500",
"state_code": "11",
"county_code": "001",
"county_name": "District of Columbia",
"county_id": "11001",
"tract_id": "11001980000",
"block_id": "110019800001034",
"place_name": "Washington city",
"candidates": 1
},
"evidence": {
"source": "US Census Bureau",
"source_kind": "public",
"retrieved_at": "2026-01-15T12:00:00.000Z",
"as_of": null
}
}
}
Price: $0.002 per lookup. See Pricing for every tool.
Notes
- Results return inline. The finished job stays available at
/v1/requests/{request_id}