Search cities by name
Searches cities by name or country codes — returns up to 100 cities per page Upstream direct: USD 0.0/call. Overflow: USD 0.0/call via orthogonal. Disabled draft retail: maximum of published direct/overflow fixed prices, without markup. Unknown overflow is not a zero quote. Draft retail USD 0.0/billable call. Usage limits: Free city dictionary. Pages start at 1. A metropolitan area may have several city IDs; select the IDs appropriate to your search. Supplier limits: 500 requests/minute per IP globally; per-user route limits scale with plan (60/min Starter, 120/min Pro, 600/min Scale). Autocomplete/lookup routes use a separate per-user bucket. Catalog prices and provider response fields are not proof of actual TREG charges. Reconcile X-Treg-Cost-Micro with call IDs and usage records; caching and overflow may change the charge. Before enabling, verify business results and charges for this account, plus X-Treg-Meta customer tagging and usage-by-tag reconciliation. Testnet verification results for this definition are recorded below. Testnet verification (2026-11-04): business result passed; OpenAny debit USD 0 matched the configured retail policy for this request. This is one observed call, not a guarantee for future requests. The paired example is captured from testnet; long excerpts may be shortened. Actual TREG upstream debit was not verified.
- Selected price
- $0 / callPublished pricing
- Providers / implementations
- 1 / 1
- Requests · 30d
- —Loading...
- Success rate · 30d
- —Loading...
| Provider | Price / call | Requests · 30d | Performance | Access |
|---|---|---|---|---|
tregCurrent Search cities by name · POST | $0 / call | — | —successP50— |
Statistics use persisted gateway logs from the last 30 days up to now, including today.
Success rate = successful requests / all requests;
P50 = median latency of successful requests.
Prices reflect the published API contract. Contract revision: 1. Price update time: not supplied.
Playground
Run sends a real API request. Charges follow the published API contract.
curl \
'https://api.openany.si/v1/agent-apis/treg/call/companyenrich.geo.cities.search' \
-X POST \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"countryCodes": [
"US"
],
"query": "san fran"
}'- Method
- POST
- Endpoint
https://api.openany.si/v1/agent-apis/treg/call/companyenrich.geo.cities.search- Content type
- application/json
- Authentication
Authorization: Bearer $OPENANY_API_KEY
curl \
'https://api.openany.si/v1/agent-apis/treg/call/companyenrich.geo.cities.search' \
-X POST \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"countryCodes": [
"US"
],
"query": "san fran"
}'Input parameters
Fields in this listing; additional options and input encoding can vary by provider.
| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
countryCodes | JSON request bodybody | array | No | ISO alpha-2 codes to scope the searchNested fields and variants
|
page | JSON request bodybody | integer | No | 1-based page number minimum: 1 |
query | JSON request bodybody | string | No | city name; prefixes work ('san fran' matched three San Francisco entries) minLength: 1 |
Required markers inside a nested object or variant apply when that object or variant is used.
Sample response
Third-party response reference · Documented HTTP 200; not a live result. Historical third-party reference. It may differ from the current provider response; verify the original contract before use.
{
"items": [
{
"id": 130518,
"latitude": 37.77823,
"longitude": -122.4425,
"name": "City and County of San Francisco"
},
{
"id": 131186,
"latitude": 37.77493,
"longitude": -122.41942,
"name": "San Francisco"
},
{
"id": 131281,
"latitude": 37.65466,
"longitude": -122.40775,
"name": "South San Francisco"
}
],
"page": 1,
"totalItems": 3,
"totalPages": 1
}Agent integration
Copy the resource contract without sharing an API key.
View API Markdown
# Search cities by name
Searches cities by name or country codes — returns up to 100 cities per page
Upstream direct: USD 0.0/call.
Overflow: USD 0.0/call via orthogonal.
Disabled draft retail: maximum of published direct/overflow fixed prices, without markup. Unknown overflow is not a zero quote. Draft retail USD 0.0/billable call.
Usage limits: Free city dictionary. Pages start at 1. A metropolitan area may have several city IDs; select the IDs appropriate to your search.
Supplier limits: 500 requests/minute per IP globally; per-user route limits scale with plan (60/min Starter, 120/min Pro, 600/min Scale). Autocomplete/lookup routes use a separate per-user bucket.
Catalog prices and provider response fields are not proof of actual TREG charges. Reconcile X-Treg-Cost-Micro with call IDs and usage records; caching and overflow may change the charge.
Before enabling, verify business results and charges for this account, plus X-Treg-Meta customer tagging and usage-by-tag reconciliation. Testnet verification results for this definition are recorded below.
Testnet verification (2026-11-04): business result passed; OpenAny debit USD 0 matched the configured retail policy for this request. This is one observed call, not a guarantee for future requests. The paired example is captured from testnet; long excerpts may be shortened. Actual TREG upstream debit was not verified.
Documentation: https://openany.si/apis/9da37119-7779-402f-9b00-c2228ed33b4e
Method: POST
Endpoint: https://api.openany.si/v1/agent-apis/treg/call/companyenrich.geo.cities.search
Price: $0 / call
Provider: treg
Contract revision: 1
Price source: selected implementation in the OpenAny public API catalog. Price update time: not supplied.
Use OPENANY_API_KEY from the environment. API Key calls use your shared balance.
## Prepared request
```bash
curl \
'https://api.openany.si/v1/agent-apis/treg/call/companyenrich.geo.cities.search' \
-X POST \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"countryCodes": [
"US"
],
"query": "san fran"
}'
```
## API contract
```json
{
"resource_type": "api",
"name": "Search cities by name",
"endpoint": "https://api.openany.si/v1/agent-apis/treg/call/companyenrich.geo.cities.search",
"method": "POST",
"content_type": "application/json",
"execution_mode": "sync",
"authentication": {
"type": "bearer",
"environment_variable": "OPENANY_API_KEY"
},
"inputs": [
{
"description": "JSON request body for Search cities by name. See individual field descriptions for input requirements.",
"json_schema": {
"additionalProperties": false,
"description": "JSON request body for Search cities by name. See individual field descriptions for input requirements.",
"properties": {
"countryCodes": {
"description": "ISO alpha-2 codes to scope the search",
"example": [
"US"
],
"items": {
"type": "string"
},
"type": "array"
},
"page": {
"description": "1-based page number",
"minimum": 1,
"type": "integer"
},
"query": {
"description": "city name; prefixes work ('san fran' matched three San Francisco entries)",
"example": "san fran",
"minLength": 1,
"type": "string"
}
},
"required": [],
"type": "object"
},
"location": "body",
"name": "body",
"nullable": false,
"pointer": "",
"required": true,
"type": "object"
}
],
"billing": {
"currency": "USD",
"mode": "fixed",
"priceMicroUsd": "0",
"rounding": null,
"unit": "call",
"unitQuantity": null
},
"examples": [
{
"http_status": 200,
"name": "Third-party reference · Testnet verified: business + billing",
"request": {
"body": {
"countryCodes": [
"US"
],
"query": "san fran"
},
"headers": {},
"path": {},
"query": {}
},
"response_body": {
"items": [
{
"id": 130518,
"latitude": 37.77823,
"longitude": -122.4425,
"name": "City and County of San Francisco"
},
{
"id": 131186,
"latitude": 37.77493,
"longitude": -122.41942,
"name": "San Francisco"
},
{
"id": 131281,
"latitude": 37.65466,
"longitude": -122.40775,
"name": "South San Francisco"
}
],
"page": 1,
"totalItems": 3,
"totalPages": 1
}
}
]
}
```Error handling
| Status | Next step |
|---|---|
400 | Check the offering and request fields. |
401 / 403 | Verify your credentials and access permissions. |
402 | Inspect the selected access mode and returned payment requirements. |
429 | Respect the returned rate limit and retry guidance. |
5xx | Inspect the error and usage record before retrying a paid operation. |
Third-party reference · Testnet verified: business + billing
Historical third-party reference. It may differ from the current provider response; verify the original contract before use.
Prepare your environment
Use a terminal with cURL installed.
Use an OpenAny API key with shared-balance access. Confirm availability and price before running; a call may charge your balance.
Set the key in your terminal using the hidden prompt below. Keep its value out of source files and logs.
Terminal · macOS / Linuxprintf 'OpenAny API key: ' read -r -s OPENANY_API_KEY export OPENANY_API_KEY printf '\n'Run the request
Paste the complete command below into your terminal.
Values to replace before running 1
Review these request fields before running. Keep the published provider and request method unchanged.
body- JSON request body for Search cities by name. See individual field descriptions for input requirements.
Terminal · cURLcurl \ 'https://api.openany.si/v1/agent-apis/treg/call/companyenrich.geo.cities.search' \ -X POST \ -H "Authorization: Bearer $OPENANY_API_KEY" \ -H 'Content-Type: application/json' \ --data-raw '{ "countryCodes": [ "US" ], "query": "san fran" }'Check the response
Third-party response reference · Documented HTTP 200; not a live result.
Third-party reference · not a live result{ "items": [ { "id": 130518, "latitude": 37.77823, "longitude": -122.4425, "name": "City and County of San Francisco" }, { "id": 131186, "latitude": 37.77493, "longitude": -122.41942, "name": "San Francisco" }, { "id": 131281, "latitude": 37.65466, "longitude": -122.40775, "name": "South San Francisco" } ], "page": 1, "totalItems": 3, "totalPages": 1 }
Loading related APIs…
Common questions
Do I need a separate key for every provider?
Use your OpenAny API key for standard API access. Read it from OPENANY_API_KEY in your environment and keep it out of prompts, source code and logs.
Are these providers interchangeable?
No. Each offering has its own inputs, pricing and response contract. Selecting a catalog offering does not establish automatic routing or fallback. Confirm the service contract before calling.
How is this API billed?
API-key calls use your shared balance at the selected implementation's published rate. Check the billing unit and request-specific pricing rules before making a paid call. Recorded usage determines the final charge under that contract.
Where do the price and contract come from?
The selected implementation publishes its provider, request contract, revision and billing rules through OpenAny's public API catalog. A revision number identifies a contract version, not a price update date. A price update timestamp is not supplied; do not treat a page date as one.
How do OpenAny Balance and x402 differ?
OpenAny Balance uses an API key and one shared balance. Card, USDC and x402 top-ups, card auto top-up and USDC subscriptions fund that balance; available routes appear on the Credits page. Direct x402 is a separate pay-per-request flow, available only on listings that show it and requiring an authorized payment client.
Does Playground send a paid request?
Yes. After you sign in, Run sends a real API request using an active OpenAny API key. Charges follow the published API contract and use your shared balance. Selecting an implementation, editing inputs and viewing sample responses do not send requests.