openapi: 3.2.0 info: title: Bee Maps Data Map Features API description: REST APIs for street-level imagery, AI event videos, road feature detections, and on-demand mapping from the world's largest decentralized dashcam network. version: 1.0.0 contact: name: Bee Maps url: https://beemaps.com/contact license: name: Proprietary servers: - url: https://beemaps.com/api/developer description: Production security: - ApiKeyQuery: [] 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' operationId: postMapData x-operation-id-source: derived components: 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) 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 securitySchemes: BasicAuth: type: http scheme: basic description: 'API key passed as Basic auth header: `Authorization: Basic `' ApiKeyQuery: type: apiKey in: query name: apiKey description: API key passed as query parameter (used for burst endpoints) externalDocs: description: Full documentation url: https://docs.beemaps.com