Hivemapper AI Events API

AI-detected driving event videos with synchronized sensor data.

Operations 2

POST /aievents/search Search AI-detected driving events #
GET /aievents/{id} Get AI event by ID #

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-ai-events-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-ai-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hivemapper AI Events 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 ai-events 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: ai-events
  description: AI-detected driving events with video
paths:
  /aievents/search:
    post:
      tags:
      - ai-events
      summary: Search AI-detected driving events
      description: Search for AI-detected driving events filtered by date range, event type, and more.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AIEventSearch'
            example:
              startDate: '2026-01-01T00:00:00Z'
              endDate: '2026-01-31T00:00:00Z'
              types:
              - HARSH_BRAKING
              - SWERVING
              limit: 50
      responses:
        '200':
          description: AI events
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/AIEvent'
                  total:
                    type: integer
                  limit:
                    type: integer
                  offset:
                    type: integer
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
      - ApiKeyQuery: []
      operationId: postAieventsSearch
      x-operation-id-source: derived
    servers:
    - url: https://beemaps.com/api/developer
      description: Production
  /aievents/{id}:
    get:
      tags:
      - ai-events
      summary: Get AI event by ID
      description: Retrieve a single AI event with optional high-frequency sensor data.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: AI event ID
      - name: includeGnssData
        in: query
        schema:
          type: boolean
        description: Include ~1Hz GPS trace
      - name: includeImuData
        in: query
        schema:
          type: boolean
        description: Include ~100Hz 6-axis IMU data
      responses:
        '200':
          description: AI event details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIEvent'
        '403':
          $ref: '#/components/responses/Forbidden'
        '402':
          $ref: '#/components/responses/PaymentRequired'
      security:
      - ApiKeyQuery: []
      operationId: getAieventsById
      x-operation-id-source: derived
    servers:
    - url: https://beemaps.com/api/developer
      description: Production
components:
  schemas:
    AIEventSearch:
      type: object
      description: Date range must be 31 days or less.
      properties:
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        types:
          type: array
          items:
            type: string
            enum:
            - HARSH_BRAKING
            - AGGRESSIVE_ACCELERATION
            - SWERVING
            - HIGH_SPEED
            - HIGH_G_FORCE
            - STOP_SIGN_VIOLATION
        limit:
          type: integer
          default: 50
          maximum: 500
        offset:
          type: integer
          default: 0
    AIEvent:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        timestamp:
          type: string
          format: date-time
        lat:
          type: number
        lng:
          type: number
        videoUrl:
          type: string
          format: uri
          description: Signed video URL (temporary)
        duration:
          type: number
          description: Video duration in seconds
        gnssData:
          type: array
          description: GPS trace (~1Hz), included when includeGnssData=true
          items:
            type: object
            properties:
              timestamp:
                type: number
              lat:
                type: number
              lon:
                type: number
        imuData:
          type: array
          description: IMU data (~100Hz), included when includeImuData=true
          items:
            type: object
            properties:
              timestamp:
                type: number
              ax:
                type: number
              ay:
                type: number
              az:
                type: number
              gx:
                type: number
              gy:
                type: number
              gz:
                type: number
    AIEventSearch_2:
      type: object
      properties:
        startDate:
          type: string
          description: ISO 8601 start date.
        endDate:
          type: string
          description: ISO 8601 end date
          within 31 days of start.: null
        types:
          type: array
          items:
            type: string
            enum:
            - HARSH_BRAKING
            - AGGRESSIVE_ACCELERATION
            - SWERVING
            - HIGH_SPEED
            - HIGH_G_FORCE
            - STOP_SIGN_VIOLATION
            - TRAFFIC_LIGHT_VIOLATION
            - TAILGATING
        polygon:
          type: array
          items:
            type: array
            items:
              type: number
          description: Array of [lon, lat] coordinates, minimum 4 points.
        limit:
          type: integer
          maximum: 500
        offset:
          type: integer
      required:
      - startDate
      - endDate
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
        statusCode:
          type: integer
    AIEventSearchResult:
      type: object
      properties:
        total:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
        events:
          type: array
          items:
            $ref: '#/components/schemas/AIEvent_2'
    Position:
      type: object
      properties:
        lon:
          type: number
        lat:
          type: number
        alt:
          type: number
        azimuth:
          type: number
    AIEvent_2:
      type: object
      description: An AI-detected driving event.
      properties:
        id:
          type: string
        type:
          type: string
        timestamp:
          type: string
          format: date-time
        location:
          $ref: '#/components/schemas/Position'
        metadata:
          type: object
          additionalProperties: true
        videoUrl:
          type: string
          format: uri
        gnssData:
          type: array
          items:
            type: object
            additionalProperties: true
        imuData:
          type: array
          items:
            type: object
            additionalProperties: true
  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
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    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'
  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
x-provenance:
  method: harvested
  publisher: Hivemapper
  source: https://beemaps.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)