Simplified categories endpoint
Returns the POI type ids you pass to poiTypesIds on /points, grouped by theme. Call it once on startup and cache it.
GET
https://{country}.yatmo.com/simplifiedcategories
LicenseKey header
Request
| Name | In | Type | Description |
|---|---|---|---|
| language required | query | string | ISO 639-1 code. Falls back to EN if unsupported. |
Response shape
An object keyed by theme, each value an array of type ids. Real response for Belgium:
{
"Education": [10010001000000, 10010002000000, 10010003000000, 10010004000000],
"Transports": [10020001000001, 10020002000001, 10020003000001, 10020004000000,
10020008000000, 10020009000000, 10020006000000, 10020007000000],
"Motorways": [10020005000001],
"Shopping": [10030001000001],
"Tourism": [10070001000000, 10070002000000, 10070003000000, 10070004000000,
10070005000000, 10070006000000, 10070007000000, 10070009000000,
10070010000000]
}
A type id reads as <category 4><subcategory 4><variant 6>.
An id ending in 000001 is a wildcard meaning “every variant of this
subcategory”, which is what you want for transit lines and retail brands: there is one
variant per line and per brand, and you rarely want to enumerate them.
Filtering points
Pass one id, or several separated by commas. Measured on the same Brussels box:
| poiTypesIds | Places returned | What you get |
|---|---|---|
| omitted | 52 | every category present in the box |
10030001000001 | 5 | supermarkets only |
10020003000001 | 26 | bus stops only |
| the four Education ids | 0 | no school in this box, which is a valid answer |
curl -H "LicenseKey: YOUR_LICENSE_KEY" \
'https://be.yatmo.com/points?bound1=50.8440,4.3482&bound2=50.8494,4.3568&language=EN&poiTypesIds=10030001000001'
Notes
- Group names are translated. The same Belgian group is “Shopping” with
language=ENand “Magasins” withlanguage=FR. Select groups by the category digits of their ids, never by name: an id is1, three digits of category, four of sub-type, six of variant (education 1, transport 2, shopping 3). - Sub-type numbers differ by market. Motorways are
10020005000001in Belgium and10020006000001in France: read the ids from the market you query. - Prefer this over /categories. The older categories endpoint returns a labelled tree, but it does not cover every type that
/pointscan return. Use simplified categories for filtering, and thetfield of each point for display: it already carries the label in the language you requested. - Cache it. The list changes when a country gains a category, not between two page views.
- It varies by country. A market without a metro has no metro id. Do not hard-code the list from one country and reuse it in another.