NextBillion.ai API

NextBillion.ai API as documented publicly: 18 operations. Contract generated from the documentation by API Evangelist (2026-10-13); not the provider's own document.

Operations 18

GET /directions/json Directions Flexible API #
POST /directions/json Directions Flexible API #
GET /distancematrix/json Distance Matrix API Synchronous #
POST /distancematrix/json Distance Matrix API Synchronous #
POST /hos/trip-plan POST /hos/trip-plan #
GET /isochrone/json GET /isochrone/json #
POST /mdm/create POST /mdm/create #
GET /mdm/status Use this method to retrieve the Distance Matrix solution link for the tasks created using either of the Asynchronous Distance Matrix POST methods. #
GET /navigation Navigation API #
POST /navigation Navigation API #
GET /navigation/json Navigation API #
POST /navigation/json POST /navigation/json #
POST /optimization/driver-assignment/v1 The Driver Assignment API’s synchronous method caters to quick, near real‑time assignment requirements. #
GET /optimization/driver-assignment/v1/async To obtain the calculated assignment solution, you must provide the specific id that was generated and returned after submitting the initial POST request. #
POST /optimization/driver-assignment/v1/async POST /optimization/driver-assignment/v1/async #
POST /optimization/re_optimization Re-optimize An Existing Solution #
POST /optimization/v2 Build an Optimization Request #
GET /optimization/v2/result Retrieve Optimized Solution #

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/nextbillion-ai:nextbillion-ai-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

nextbillion-ai-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: NextBillion.ai API
  version: '2026-10-13'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-13: 18 operation(s) read from 8 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; NextBillion.ai has published no machine-readable contract that
    the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 5
    documentation: 13
    pages-with-code: 5
    pages-read: 8
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-13'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://docs.nextbillion.ai/routing/directions-api
  - https://docs.nextbillion.ai/routing/navigation-api
  - https://docs.nextbillion.ai/optimization/route-optimization-api
  - https://docs.nextbillion.ai/routing/distance-matrix-api/synchronous
  - https://docs.nextbillion.ai/routing/isochrone-api
  - https://docs.nextbillion.ai/routing/hours-of-service-api
  - https://docs.nextbillion.ai/optimization/driver-assignment-api
  - https://docs.nextbillion.ai/routing/distance-matrix-api/asynchronous
servers:
- url: https://api.nextbillion.io
paths:
  /directions/json:
    get:
      operationId: get_directions_json
      tags:
      - Directions
      summary: Directions Flexible API
      description: GET https://api.nextbillion.io/directions/json?option=flexible&key={your_api_key}
      x-source: https://docs.nextbillion.ai/routing/directions-api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_directions_json
      tags:
      - Directions
      summary: Directions Flexible API
      description: POST https://api.nextbillion.io/directions/json?option=flexible&key={your_api_key}
      x-source: https://docs.nextbillion.ai/routing/directions-api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /distancematrix/json:
    get:
      operationId: get_distancematrix_json
      tags:
      - Distancematrix
      summary: Distance Matrix API Synchronous
      description: GET https://api.nextbillion.io/distancematrix/json?key={your_api_key} (option=flexible for Flexible API). Returns a matrix
        of ETAs and distances.
      x-source: https://docs.nextbillion.ai/routing/distance-matrix-api/synchronous
      parameters:
      - name: key
        in: query
        required: true
        schema:
          type: string
        description: Your API key
      - name: option
        in: query
        required: false
        schema:
          type: string
        description: Set to "flexible" to use the Flexible version
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_distancematrix_json
      tags:
      - Distancematrix
      summary: Distance Matrix API Synchronous
      description: POST https://api.nextbillion.io/distancematrix/json?key={your_api_key} (option=flexible for Flexible API). Request body contains
        the same parameters as the GET request.
      x-source: https://docs.nextbillion.ai/routing/distance-matrix-api/synchronous
      parameters:
      - name: key
        in: query
        required: true
        schema:
          type: string
        description: Your API key
      - name: option
        in: query
        required: false
        schema:
          type: string
        description: Set to "flexible" to use the Flexible version
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /hos/trip-plan:
    post:
      operationId: post_hos_trip_plan
      tags:
      - Hos
      summary: POST /hos/trip-plan
      x-source: https://docs.nextbillion.ai/routing/hours-of-service-api
      parameters:
      - name: key
        in: query
        required: false
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl --location ''https://api.nextbillion.io/hos/trip-plan?key=<your_api_key>'' \ 2 --header ''Content-Type: application/json''
          \ 3 --data ''{ 4 "poi_stops": true, 5 "hos_break_window": 2100, 6 "hos_regulations": { 7 "type": "US70H8D", 8 "include_cycle_reset":
          false 9 }, 10 "driver_current_hos_state": { 11 "daily_drive_time_used": 22000, 12 "daily_duty_time_used": 26000, 13 "daily_cycle_duty_times":
          []'
  /isochrone/json:
    get:
      operationId: get_isochrone_json
      tags:
      - Isochrone
      summary: GET /isochrone/json
      x-source: https://docs.nextbillion.ai/routing/isochrone-api
      parameters:
      - name: key
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl --location 'https://api.nextbillion.io/isochrone/json?key=<your_api_key>&coordinates=34.04715844,-118.24977187&mode=car&contours_minutes=5'\
          \ \n Response \n 1 { 2 \"features\" : [ ... ] , 3 \"type\" : \"FeatureCollection\" 4 } Expand \n Here is how the above response looks\
          \ on a map. We can easily visualize the area reachable within 5 minutes. It is enclosed by a contour line or a polygon around the star"
  /mdm/create:
    post:
      operationId: post_mdm_create
      tags:
      - Mdm
      summary: POST /mdm/create
      x-source: https://docs.nextbillion.ai/routing/distance-matrix-api/asynchronous
      parameters:
      - name: key
        in: query
        required: false
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl --location 'https://api.nextbillion.io/mdm/create?key=<your_api_key>&option=flexible' \\ 2 --header 'Content-Type: application/json'\
          \ \\ 3 --data '{ 4 \"origins\":\"13.03394916,77.58855989\", 5 \"destinations\":\"13.03935192,77.58939313\", 6 \"mode\":\"truck\", 7\
          \ \"truck_size\":\"100,220,213\", 8 \"truck_weight\":5000 9 }' \n Sample POST Response \n Here is the response that we receive on submitting\
          \ the POST reques"
  /mdm/status:
    get:
      operationId: get_mdm_status
      tags:
      - Mdm
      summary: Use this method to retrieve the Distance Matrix solution link for the tasks created using either of the Asynchronous Distance Matrix
        POST methods.
      description: Retrieve the processing status and result link for a previously submitted asynchronous distance matrix task.
      x-source: https://docs.nextbillion.ai/routing/distance-matrix-api/asynchronous
      parameters:
      - name: key
        in: query
        required: true
        schema:
          type: string
        description: Your API key.
      - name: id
        in: query
        required: true
        schema:
          type: string
        description: The task_id returned from the POST request.
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMdmStatusResponse'
      x-evidence:
        kind: documentation
  /navigation:
    get:
      operationId: get_navigation
      tags:
      - Navigation
      summary: Navigation API
      x-source: https://docs.nextbillion.ai/routing/navigation-api
      parameters:
      - name: option
        in: query
        required: true
        schema:
          type: string
        description: Selects the API version – "flexible" for the flexible endpoint.
      - name: key
        in: query
        required: true
        schema:
          type: string
        description: Your API key.
      - name: origin
        in: query
        required: false
        schema:
          type: string
        description: Latitude,longitude of the start point.
      - name: destination
        in: query
        required: false
        schema:
          type: string
        description: Latitude,longitude of the end point.
      - name: mode
        in: query
        required: false
        schema:
          type: string
        description: Travel mode (e.g., car, truck, bike).
      - name: departure_time
        in: query
        required: false
        schema:
          type: string
        description: Unix timestamp for departure.
      - name: avoid
        in: query
        required: false
        schema:
          type: string
        description: Features to avoid (e.g., toll, highway, sharp_turn).
      - name: hazmat_type
        in: query
        required: false
        schema:
          type: string
        description: Hazardous material type for truck routing.
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetNavigationResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_navigation
      tags:
      - Navigation
      summary: Navigation API
      x-source: https://docs.nextbillion.ai/routing/navigation-api
      parameters:
      - name: option
        in: query
        required: true
        schema:
          type: string
        description: Selects the API version – "flexible" for the flexible endpoint.
      - name: key
        in: query
        required: true
        schema:
          type: string
        description: Your API key.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostNavigationRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostNavigationResponse'
      x-evidence:
        kind: documentation
  /navigation/json:
    get:
      operationId: get_navigation_json
      tags:
      - Navigation
      summary: Navigation API
      x-source: https://docs.nextbillion.ai/routing/navigation-api
      parameters:
      - name: option
        in: query
        required: false
        schema:
          type: string
        description: Selects the API version – "flexible" for flexible, omitted for fast.
      - name: key
        in: query
        required: true
        schema:
          type: string
        description: Your API key.
      - name: origin
        in: query
        required: false
        schema:
          type: string
        description: Latitude,longitude of the start point.
      - name: destination
        in: query
        required: false
        schema:
          type: string
        description: Latitude,longitude of the end point.
      - name: mode
        in: query
        required: false
        schema:
          type: string
        description: Travel mode (car, truck, etc.).
      - name: departure_time
        in: query
        required: false
        schema:
          type: string
        description: Unix timestamp for departure.
      - name: avoid
        in: query
        required: false
        schema:
          type: string
        description: Features to avoid (e.g., highway|toll, sharp_turn).
      - name: hazmat_type
        in: query
        required: false
        schema:
          type: string
        description: Hazardous material type for truck routing.
      - name: overview
        in: query
        required: false
        schema:
          type: string
        description: Level of geometry detail (e.g., simplified).
      - name: waypoints
        in: query
        required: false
        schema:
          type: string
        description: Additional intermediate points.
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetNavigationJsonResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_navigation_json
      tags:
      - Navigation
      summary: POST /navigation/json
      x-source: https://docs.nextbillion.ai/routing/navigation-api
      parameters:
      - name: key
        in: query
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl --location 'https://api.nextbillion.io/navigation/json?key=<your_api_key>&origin=48.22539980,-101.29602541&destination=48.24027183,-101.29608570&mode=truck&option=flexible&hazmat_type=circumstantial'\
          \ \n Response \n 1 { 2 \"status\" : \"Ok\" , 3 \"routes\" : [ ... ] 4 } Expand \n GET Request Example 3 \n Next we will create a navigation\
          \ flexible request for a trip where we want to avoid sharp turns whic"
  /optimization/driver-assignment/v1:
    post:
      operationId: post_optimization_driver_assignment_v1
      tags:
      - Optimization
      summary: The Driver Assignment API’s synchronous method caters to quick, near real‑time assignment requirements.
      x-source: https://docs.nextbillion.ai/optimization/driver-assignment-api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /optimization/driver-assignment/v1/async:
    get:
      operationId: get_optimization_driver_assignment_v1_async
      tags:
      - Optimization
      summary: To obtain the calculated assignment solution, you must provide the specific id that was generated and returned after submitting
        the initial POST request.
      x-source: https://docs.nextbillion.ai/optimization/driver-assignment-api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_optimization_driver_assignment_v1_async
      tags:
      - Optimization
      summary: POST /optimization/driver-assignment/v1/async
      x-source: https://docs.nextbillion.ai/optimization/driver-assignment-api
      parameters:
      - name: key
        in: query
        required: false
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl --location 'https : //api.nextbillion.io/optimization/driver-assignment/v1?key=<your_api_key>' --header 'Content-Type:\
          \ application/json; charset=utf-8' --data '{ 2 \"filter\" : { ... } , 3 \"options\" : { ... } , 4 \"orders\" : [ ... ] , 5 \"vehicles\"\
          \ : [ ... ] 6 } ' Expand \n Sample Response \n 1 { 2 \"status\" : 200 , 3 \"result\" : { 4 \"trips\" : [ ... ] , 5 \"unassigned_orders\"\
          \ : [ ... ] , 6 \"available_"
  /optimization/re_optimization:
    post:
      operationId: post_optimization_re_optimization
      tags:
      - Optimization
      summary: Re-optimize An Existing Solution
      x-source: https://docs.nextbillion.ai/optimization/route-optimization-api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /optimization/v2:
    post:
      operationId: post_optimization_v2
      tags:
      - Optimization
      summary: Build an Optimization Request
      x-source: https://docs.nextbillion.ai/optimization/route-optimization-api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /optimization/v2/result:
    get:
      operationId: get_optimization_v2_result
      tags:
      - Optimization
      summary: Retrieve Optimized Solution
      x-source: https://docs.nextbillion.ai/optimization/route-optimization-api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    GetMdmStatusResponse:
      type: object
      properties:
        code:
          type: string
          description: Response status code, e.g., "Ok".
        status:
          type: string
          description: Current status of the task, e.g., "task fully succeeded".
        result_link:
          type: string
          description: URL to the CSV file containing the distance matrix results.
    GetNavigationResponse:
      type: object
      properties:
        status:
          type: string
          description: Response status, e.g., "Ok".
        routes:
          type: array
          description: Array of route objects.
    PostNavigationRequest:
      type: object
      properties:
        origin:
          type: string
          description: Latitude,longitude of the start point.
        destination:
          type: string
          description: Latitude,longitude of the end point.
        mode:
          type: string
          description: Travel mode (e.g., car, truck, bike).
        departure_time:
          type: string
          description: Unix timestamp for departure.
        avoid:
          type: string
          description: Features to avoid (e.g., toll, highway, sharp_turn).
        hazmat_type:
          type: string
          description: Hazardous material type for truck routing.
    PostNavigationResponse:
      type: object
      properties:
        status:
          type: string
          description: Response status, e.g., "Ok".
        routes:
          type: array
          description: Array of route objects.
    GetNavigationJsonResponse:
      type: object
      properties:
        status:
          type: string
          description: Response status, e.g., "Ok".
        routes:
          type: array
          description: Array of route objects.
tags:
- name: Directions
- name: Distancematrix
- name: Hos
- name: Isochrone
- name: Mdm
- name: Navigation
- name: Optimization