Hivemapper Imagery API

Street-level dashcam imagery queries.

Operations 2

POST /latest/poly Query latest imagery within polygon #
POST /imagery/poly Query street-level imagery by polygon and week #

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-imagery-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-imagery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hivemapper Imagery 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 imagery 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: imagery
  description: Street-level dashcam imagery
paths:
  /latest/poly:
    post:
      tags:
      - imagery
      summary: Query latest imagery within polygon
      description: Returns the most recent dashcam frames captured within the given GeoJSON polygon.
      parameters:
      - name: headings
        in: query
        schema:
          type: boolean
        description: Include orientation data per frame
      - name: min_week
        in: query
        schema:
          type: string
          format: date
        description: Earliest week to include (YYYY-MM-DD)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeoJSONPolygon'
            example:
              type: Polygon
              coordinates:
              - - - -122.415
                  - 37.785
                - - -122.413
                  - 37.785
                - - -122.413
                  - 37.787
                - - -122.415
                  - 37.787
                - - -122.415
                  - 37.785
      responses:
        '200':
          description: Imagery frames
          content:
            application/json:
              schema:
                type: object
                properties:
                  frames:
                    type: array
                    items:
                      $ref: '#/components/schemas/ImageryFrame'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
      - ApiKeyQuery: []
      operationId: postLatestPoly
      x-operation-id-source: derived
    servers:
    - url: https://beemaps.com/api/developer
      description: Production
  /imagery/poly:
    post:
      operationId: queryImageryByPolygon
      summary: Query street-level imagery by polygon and week
      description: Query geolocated dashcam frames captured within a polygon for a specific week. Returns signed image URLs, timestamps, GPS position, IMU data, device type, and image dimensions.
      tags:
      - imagery
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageryQuery'
      responses:
        '200':
          description: Array of imagery frames.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Frame'
        '400':
          $ref: '#/components/responses/BadRequest_2'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden_2'
        '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
    ServerError:
      description: Server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest_2:
      description: Bad request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden_2:
      description: Forbidden / access denied.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    ImageryFrame:
      type: object
      properties:
        url:
          type: string
          format: uri
          description: Signed image URL (temporary)
        timestamp:
          type: string
          format: date-time
        position:
          type: object
          properties:
            lat:
              type: number
            lon:
              type: number
        device:
          type: string
          description: Device type (e.g. 'bee')
        sequence:
          type: string
        idx:
          type: integer
          description: Frame index in sequence
        width:
          type: integer
        height:
          type: integer
    GeoJSONPolygon:
      type: object
      required:
      - type
      - coordinates
      properties:
        type:
          type: string
          enum:
          - Polygon
        coordinates:
          type: array
          items:
            type: array
            items:
              type: array
              items:
                type: number
              minItems: 2
              maxItems: 2
            minItems: 4
    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
    ImageryQuery:
      type: object
      properties:
        geometry:
          $ref: '#/components/schemas/GeoJSONGeometry'
        week:
          type: string
          description: Target week in YYYY-mm-dd format.
        headings:
          type: boolean
          description: Include heading data.
        catalog:
          type: boolean
          description: Return metadata only, without image URLs.
      required:
      - geometry
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
        statusCode:
          type: integer
    LatestImageryQuery:
      type: object
      properties:
        geometry:
          $ref: '#/components/schemas/GeoJSONGeometry'
        min_week:
          type: string
          description: Cutoff date (YYYY-mm-dd) for the most recent imagery.
        headings:
          type: boolean
        catalog:
          type: boolean
        crossjoin:
          type: boolean
          description: Return the full polygon per time period.
      required:
      - 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