osrmroute-com Snap to Road API

The Snap to Road API API from osrmroute-com — 1 operation(s) for snap to road api.

Operations 1

GET /api/1/snap Snap to Road API #

Work with this as data

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/osrmroute-com:osrmroute-com-snap-to-road-api-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 Specification

osrmroute-com-snap-to-road-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OSRMRoute Snap to Road API
  version: 1.1.0
  description: 'OSRMRoute — Maps, Routing, Truck Routing, Search, Road Data, Studio and integration APIs. Use `Authorization: Bearer ` unless an operation documents another flow. Legacy APIs also accept the key query parameter; New geospatial APIs, MCP and private map delivery require Bearer authentication. Mobile challenge/token endpoints use device attestation instead. Coordinates and units are documented per operation: GeoJSON uses longitude,latitude; some legacy and background-job inputs use latitude,longitude. Examples are illustrative, not guaranteed current results. Guides · Mobile Access · MCP · Postman collection.'
  contact:
    name: OSRMRoute Support
    url: https://osrmroute.com/contact
    email: support@osrmroute.com
  termsOfService: https://osrmroute.com/terms
servers:
- url: https://osrmroute.com
security:
- bearerAuth: []
- apiKeyQuery: []
tags:
- name: Snap to Road API
paths:
  /api/1/snap:
    get:
      tags:
      - Snap to Road API
      summary: Snap to Road API
      description: The Snap to Road API takes raw, imprecise GPS points and snaps each one to the closest position on the road network. Perfect for cleaning up tracking data before display, matching pins to streets, or preparing coordinates for routing.
      operationId: get_snap_to_road
      parameters:
      - name: point
        in: query
        required: true
        description: GPS point as lat,lng. Repeat the parameter for each point (maximum 100).
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        example:
        - 40.3777,49.8516
        - 40.4,49.86
      - name: profile
        in: query
        required: false
        description: 'Road network to snap to: driving, cycling or walking.'
        schema:
          type: string
        example: driving
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              examples:
                success:
                  summary: Illustrative abbreviated response; values vary with input and map data.
                  value:
                    code: Ok
                    profile: driving
                    snapped:
                    - input:
                      - 40.3777
                      - 49.8516
                      snapped:
                      - 40.3778
                      - 49.8517
                      distance: 14
                      name: Example road
        '400':
          description: Error Codes (HTTP 400)
          content:
            application/json:
              examples:
                invalid:
                  value:
                    error: At least one point must be provided (point=lat,lng repeated).
        '401':
          description: Error Codes (HTTP 401)
          content:
            application/json:
              examples:
                auth:
                  value:
                    error: Invalid API Key
        '402':
          description: Error Codes (HTTP 402)
          content:
            application/json:
              examples:
                balance:
                  value:
                    error: 'Insufficient balance: this request costs 1 credit and your balance is 0 credits. Top up your account to continue.'
        '403':
          description: Error Codes (HTTP 403)
          content:
            application/json:
              examples:
                plan:
                  value:
                    error: This API Key is disabled
        '422':
          description: Error Codes (HTTP 422)
          content:
            application/json:
              examples:
                ProfileNotAvailable:
                  value:
                    code: ProfileNotAvailable
                    error: This travel profile is not available at one or more coordinates. No driving fallback was used.
                NoNearbyRoad:
                  value:
                    code: NoNearbyRoad
                    error: No connected route within 2000 metres of the requested coordinates.
        '429':
          description: Error Codes (HTTP 429)
          content:
            application/json:
              examples:
                rate:
                  value:
                    error: 'Rate limit exceeded: more than 60 requests per minute. Please slow down.'
        '500':
          description: Error Codes (HTTP 500)
          content:
            application/json:
              examples:
                upstream:
                  value:
                    error: Internal Server Error
      x-credit-cost: 1 credit
      x-request-limits:
      - 'point: repeat 1–100'
components:
  securitySchemes:
    apiKeyQuery:
      type: apiKey
      in: query
      name: key
    bearerAuth:
      type: http
      scheme: bearer