Hivemapper Map Features API

ML-detected road objects and features.

Operations 2

POST /map-data Query road detections by geometry #
POST /mapFeatures/poly Query detected road features within a polygon #

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/hivemapper:hivemapper-map-features-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

hivemapper-map-features-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hivemapper Map Features API
  x-refined-note:
  - x-generated differs across the merged source definitions and was not carried
  - x-method differs across the merged source definitions and was not carried
  - x-source differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged map-features across 2 of this provider''s published API definitions: hivemapper-openapi.json, hivemapper-beemaps-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://beemaps.com/api/developer
  description: Production
- url: https://hivemapper.com/api/developer
  description: Legacy Hivemapper Developer API host
tags:
- name: map-features
  description: ML-detected road objects
paths:
  /map-data:
    post:
      tags:
      - map-features
      summary: Query road detections by geometry
      description: Returns ML-detected road objects (speed limit signs, stop signs, fire hydrants, traffic lights, lane markings) within the given geometry. Use the `type` array to specify which data types to return and pass a Point geometry with radius or a Polygon.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MapDataRequest'
            example:
              type:
              - mapFeatures
              geometry:
                type: Point
                coordinates:
                - -122.413
                - 37.786
                radius: 250
      responses:
        '200':
          description: Map data results
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalCreditsUsed:
                    type: number
                  totalCreditsRemaining:
                    type: number
                  mapFeatureResults:
                    type: object
                    properties:
                      type:
                        type: string
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/MapFeature'
                      creditsUsed:
                        type: number
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
      - ApiKeyQuery: []
      operationId: postMapData
      x-operation-id-source: derived
    servers:
    - url: https://beemaps.com/api/developer
      description: Production
  /mapFeatures/poly:
    post:
      operationId: queryMapFeaturesByPolygon
      summary: Query detected road features within a polygon
      description: Query ML-detected road features (speed limit signs, stop signs, yield signs, turn restrictions, traffic lights, fire hydrants, lane lines, parking restrictions, highway signs) within a polygon boundary.
      tags:
      - map-features
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolygonQuery'
      responses:
        '200':
          description: Array of detected map features.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MapFeature_2'
        '400':
          $ref: '#/components/responses/BadRequest_2'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
      - basicAuth: []
      - apiKeyQuery: []
    servers:
    - url: https://beemaps.com/api/developer
      description: Bee Maps Developer API (current)
    - url: https://hivemapper.com/api/developer
      description: Legacy Hivemapper Developer API host
components:
  responses:
    RateLimited:
      description: 'Too Many Requests — rate limit exceeded (default: 100 req/min)'
    BadRequest:
      description: Bad Request — invalid geometry, missing required fields, or malformed JSON
    Forbidden:
      description: Forbidden — missing or invalid API key
    PaymentRequired:
      description: Payment Required — insufficient credits
    BadRequest_2:
      description: Bad request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: Server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    MapFeature:
      type: object
      properties:
        id:
          type: string
        class:
          type: string
          description: Detection class (e.g. speed_limit_sign, stop_sign)
        position:
          type: object
          properties:
            lat:
              type: number
            lon:
              type: number
            azimuth:
              type: number
        properties:
          type: object
          description: Class-specific properties
        confidence:
          type: number
          minimum: 0
          maximum: 1
        dimensions:
          type: object
          properties:
            height:
              type: number
            width:
              type: number
        firstObserved:
          type: string
          format: date-time
        lastObserved:
          type: string
          format: date-time
    MapDataRequest:
      type: object
      required:
      - type
      - geometry
      properties:
        type:
          type: array
          items:
            type: string
            enum:
            - mapFeatures
          description: Data types to return
        geometry:
          type: object
          description: GeoJSON Point with radius or Polygon
          properties:
            type:
              type: string
              enum:
              - Point
              - Polygon
            coordinates:
              description: '[lng, lat] for Point or ring array for Polygon'
            radius:
              type: number
              description: Radius in meters (Point only)
    Frame:
      type: object
      description: A street-level dashcam frame.
      properties:
        url:
          type: string
          format: uri
          description: Signed image URL.
        timestamp:
          type: string
          format: date-time
        position:
          $ref: '#/components/schemas/Position'
        idImu:
          type: object
          additionalProperties: true
          description: IMU data.
        deviceType:
          type: string
          enum:
          - hdc
          - hdcs
          - bee
        width:
          type: integer
        height:
          type: integer
    MapDataResult:
      type: object
      properties:
        totalCreditsUsed:
          type: number
        totalCreditsRemaining:
          type: number
        mapFeatureResults:
          type: array
          items:
            $ref: '#/components/schemas/MapFeature_2'
        imageryResults:
          type: array
          items:
            $ref: '#/components/schemas/Frame'
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
        statusCode:
          type: integer
    MapFeature_2:
      type: object
      description: An ML-detected road feature.
      properties:
        id:
          type: string
        status:
          type: string
        class:
          type: string
          description: Feature class (e.g. speed-limit-sign, stop-sign, fire-hydrant).
        properties:
          type: object
          additionalProperties: true
          description: Feature-specific properties (speedLimit, unit, regulatory, ...).
        position:
          $ref: '#/components/schemas/Position'
        confidence:
          type: number
          description: Detection confidence score.
        observedAt:
          type: array
          items:
            type: string
            format: date-time
    PolygonQuery:
      type: object
      properties:
        geometry:
          $ref: '#/components/schemas/GeoJSONGeometry'
      required:
      - geometry
    MapDataQuery:
      type: object
      properties:
        type:
          type: array
          items:
            type: string
            enum:
            - mapFeatures
            - imagery
          description: Which result families to return.
        geometry:
          $ref: '#/components/schemas/GeoJSONGeometry'
        startDate:
          type: string
          description: YYYY-MM-DD; defaults to one week ago.
      required:
      - type
      - geometry
    Position:
      type: object
      properties:
        lon:
          type: number
        lat:
          type: number
        alt:
          type: number
        azimuth:
          type: number
    GeoJSONGeometry:
      type: object
      description: A GeoJSON geometry (Point, LineString, or Polygon) with [lon, lat] order.
      properties:
        type:
          type: string
          enum:
          - Point
          - LineString
          - Polygon
        coordinates: {}
        radius:
          type: number
          description: Radius in meters (for Point queries).
        buffer:
          type: number
          description: Buffer in meters (for LineString queries).
      required:
      - type
      - coordinates
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: 'API key passed as Basic auth header: `Authorization: Basic <API_KEY>`'
    ApiKeyQuery:
      type: apiKey
      in: query
      name: apiKey
      description: API key passed as query parameter (used for burst endpoints)
    basicAuth:
      type: http
      scheme: basic
      description: 'HTTP Basic authentication. Send Authorization: Basic <base64(username:api-key)>.'
    apiKeyQuery:
      type: apiKey
      in: query
      name: apiKey
      description: API key passed as the apiKey query parameter.
externalDocs:
  description: Full documentation
  url: https://docs.beemaps.com
x-refined-from:
- hivemapper-openapi.json
- hivemapper-beemaps-openapi.yml