Community data. Your ideas.
Build useful community tools with the public API, or connect your AI assistant through MCP.
Connect your AI assistant
MCP · Streamable HTTPAdd this URL as a remote MCP server in a compatible assistant. No sign-in, token or API key is needed.
https://stage1-preview.ukramerica.com/mcpFor clients that use an mcpServers configuration:
{
"mcpServers": {
"ukramerica": {
"url": "https://stage1-preview.ukramerica.com/mcp"
}
}
}Find Ukrainian restaurants and churches in Chicago. Include links to the listings and their official sources.
Tools: list_cities, list_categories, search_listings, get_listing. Resources: cities, categories, a usage guide and OpenAPI. All operations are read-only.
Start with one request
OpenAPI 3.2.1Find a city and category, then request the listings you need. Every city and listing includes links to its Ukrainian and English pages.
curl 'https://stage1-preview.ukramerica.com/api/v1/ads?city=chicago&category=restaurants&pageSize=12'/api/v1/cities?country=CAListing categories/api/v1/categoriesRestaurants in Chicago/api/v1/ads?city=chicago&category=restaurants&pageSize=12Upcoming events in Canada/api/v1/ads?country=CA&kind=event&upcoming=trueJavaScript example
const response = await fetch(
'https://stage1-preview.ukramerica.com/api/v1/ads?city=toronto&pageSize=24'
);
if (!response.ok) throw new Error('Request failed');
const { items, links } = await response.json();
// Follow links.next until it is null.
console.log(items.map(item => item.urls.en));What you can request
| Endpoint | Returns |
|---|---|
GET /api/v1/cities | Enabled cities, keys, countries and time zones. Filters: country, q. |
GET /api/v1/categories | Categories in both languages. Filter: kind. |
GET /api/v1/ads | Search, filters and pages of approved public listings. |
GET /api/v1/ads/{id} | One published listing by UUID. |
Search filters: q, city, country, category, kind, section, currency, min, max, sort, page, pageSize, upcoming. OpenAPI describes every field and allowed value.
Using the data responsibly
- Only published listings are available. Drafts, accounts and administration data are private.
- City names stay English. Listing text includes the available translations.
- Result prices use integer minor units in USD or CAD (1250 = 12.50). Search min/max use major units; specify currency.
- Pages contain 24 listings by default, up to 48. Follow links.next; page numbers are capped at 1000.
- The shared per-process budget is 600 requests per minute and 8 concurrent reads. On 429, wait for Retry-After. Cache results locally and avoid unbounded request loops.
- Cite the listing page and its official sources, and check current availability. Moderation is not an endorsement; API access does not grant republishing rights to contributed content.