Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/tomtom-filters-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
contact:
name: Contact Us
url: https://developer.tomtom.com/contact-us
x-twitter: TomTom
description: Search API is a RESTful API that allows developers to run a single line fuzzy search for addresses and POIs. Search API returns the latitude/longitude of a specific address, cross street, geographic feature, or point of interest (POI).
title: Search Filters API
version: 1.0.0
servers:
- url: https://api.tomtom.com
security:
- api_key: []
tags:
- name: Filters
paths:
/search/{versionNumber}/geometryFilter.{ext}:
get:
parameters:
- $ref: '#/components/parameters/versionNumber'
- $ref: '#/components/parameters/ext'
- description: List of geometries to filter by. Available types are CIRCLE (with the radius expressed in meters) and POLYGON.
example: '[{"type":"CIRCLE", "position":"40.80558, -73.96548", "radius":100}, {"type":"POLYGON", "vertices":["37.7524152343544, -122.43576049804686", "37.70660472542312, -122.43301391601562", "37.712059855877314, -122.36434936523438", "37.75350561243041, -122.37396240234374"]}]'
in: query
name: geometryList
required: true
schema:
type: string
- description: List of POIs to filter. The only required attribute of a POI is position, everything else is optional and will be echoed back when passed in.
example: '[{"poi":{"name":"S Restaurant Toms"},"address":{"freeformAddress":"2880 Broadway, New York, NY 10025"},"position":{"lat":40.80558,"lon":-73.96548}},{"poi":{"name":"Yasha Raman Corporation"},"address":{"freeformAddress":"940 Amsterdam Ave, New York, NY 10025"},"position":{"lat":40.80076,"lon":-73.96556}}]'
in: query
name: poiList
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/200'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
404/596:
$ref: '#/components/responses/404596'
5XX:
$ref: '#/components/responses/5xx'
summary: Geometry Filter
tags:
- Filters
operationId: getSearchByVersionNumberGeometryFilter{ext}
x-operation-id-source: derived
post:
parameters:
- $ref: '#/components/parameters/versionNumber'
- $ref: '#/components/parameters/ext'
requestBody:
content:
application/json:
schema:
example:
geometryList:
- position: 40.80558,-73.96548
radius: 100
type: CIRCLE
- type: POLYGON
vertices:
- 37.7524152343544,-122.43576049804686
- 37.70660472542312,-122.43301391601562
- 37.712059855877314,-122.36434936523438
- 37.75350561243041,-122.37396240234374
poiList:
- address:
freeformAddress: 2880 Broadway, New York, NY 10025
poi:
name: S Restaurant Tom's
position:
lat: 40.80558
lon: -73.96548
properties:
geometryList:
items:
properties:
position:
type: string
radius:
type: integer
type:
type: string
vertices:
items:
type: string
type: array
type: object
type: array
poiList:
items:
properties:
address:
properties:
freeformAddress:
type: string
type: object
poi:
properties:
name:
type: string
type: object
position:
properties:
lat:
format: float
type: number
lon:
format: float
type: number
type: object
type: object
type: array
type: object
responses:
'200':
$ref: '#/components/responses/200'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
404/596:
$ref: '#/components/responses/404596'
5XX:
$ref: '#/components/responses/5xx'
summary: Geometry Filter
tags:
- Filters
operationId: postSearchByVersionNumberGeometryFilter{ext}
x-operation-id-source: derived
/search/{versionNumber}/routedFilter/{position}/{heading}.{ext}:
get:
deprecated: true
parameters:
- $ref: '#/components/parameters/versionNumber'
- $ref: '#/components/parameters/position'
- description: The directional heading in degrees, usually similar to the course along a road segment. Entered in degrees, measured clockwise from north (so north is 0, east is 90, etc.)
example: -15.6
in: path
name: heading
required: true
schema:
format: float
type: number
- $ref: '#/components/parameters/ext'
- description: List of POIs to filter. The only required attribute of a POI is position, everything else is optional and will be echoed back when passed in.
example: '[{"poi":{"name":"Cleaire Advanced Emission Controls"},"address":{"freeformAddress":"7220 Trade St, San Diego, CA 92121"},"position":{"lat":"37.83274","lon":"-122.27631"}}]'
in: query
name: poiList
required: true
schema:
type: string
- $ref: '#/components/parameters/routingTimeout'
responses:
'200':
$ref: '#/components/responses/200'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
404/596:
$ref: '#/components/responses/404596'
5XX:
$ref: '#/components/responses/5xx'
summary: Routed Filter
tags:
- Filters
operationId: getSearchByVersionNumberRoutedFilterByPositionByHeading}{ext
x-operation-id-source: derived
post:
deprecated: true
parameters:
- $ref: '#/components/parameters/versionNumber'
- $ref: '#/components/parameters/position'
- description: The directional heading in degrees, usually similar to the course along a road segment. Entered in degrees, measured clockwise from north (so north is 0, east is 90, etc.)
example: 90
in: path
name: heading
required: true
schema:
format: float
type: number
- $ref: '#/components/parameters/ext'
- $ref: '#/components/parameters/routingTimeout'
requestBody:
content:
application/json:
schema:
example:
poiList:
- address:
freeformAddress: 9500 Gilman Dr, San Diego, CA 92037
poi:
name: University of California San Diego
position:
lat: 32.87349
lon: -117.2378
- address:
freeformAddress: 7220 Trade St, San Diego, CA 92121
poi:
name: Cleaire Advanced Emission Controls
position:
lat: 37.83274
lon: -122.27631
properties:
poiList:
items:
properties:
address:
properties:
freeformAddress:
type: string
type: object
poi:
properties:
name:
type: string
type: object
position:
properties:
lat:
format: float
type: number
lon:
format: float
type: number
type: object
type: object
type: array
type: object
responses:
'200':
$ref: '#/components/responses/200'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
404/596:
$ref: '#/components/responses/404596'
5XX:
$ref: '#/components/responses/5xx'
summary: Routed Filter
tags:
- Filters
operationId: postSearchByVersionNumberRoutedFilterByPositionByHeading}{ext
x-operation-id-source: derived
components:
responses:
'404596':
description: 'Not Found: the HTTP request method (GET, POST, etc) or path is incorrect.'
5xx:
description: An error occurred while processing the request. Please try again later.
'400':
description: 'Bad Request: one or more parameters were incorrectly specified.'
'405':
description: 'Method Not Allowed: the HTTP method (GET, POST, etc) is not supported for this request.'
'200':
description: 'OK: the search successfully returned zero or more results.'
'403':
description: "Forbidden: possible causes include:\n - Service requires SSL\n - Not authorized\n - Rate or volume limit exceeded\n - Unknown referer"
parameters:
position:
description: This is specified as a comma separated string composed of lat., lon.
example: 37.8328,-122.27669
in: path
name: position
required: true
schema:
type: string
versionNumber:
description: Service version number. The current value is 2.
in: path
name: versionNumber
required: true
schema:
enum:
- 2
type: integer
ext:
description: Expected response format.
example: xml
in: path
name: ext
required: true
schema:
enum:
- json
- jsonp
- js
- xml
type: string
routingTimeout:
description: Only return results that arrive from routing engine within this time limit.
in: query
name: routingTimeout
schema:
default: 4000
type: integer
securitySchemes:
api_key:
in: query
name: key
type: apiKey