gmaps.dev Exports API

The Exports API from gmaps.dev — 2 operation(s) for exports.

GitHub OpenAPI

Operations 2

POST /exports Export a collection #
GET /exports/{id} Read an export #

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/gmaps-dev:gmaps-dev-exports-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

gmaps-dev-exports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gmaps Dev Exports API
  version: 0.1.0
  description: 'Operations tagged Exports across 2 of this provider''s published API definitions: openapi.json, gmaps-dev-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.gmaps.dev/v1
tags:
- name: Exports
  x-displayName: Exports
paths:
  /exports:
    post:
      operationId: create_export
      tags:
      - Exports
      summary: Export a collection
      description: 'Get a link to a collection''s places as one file: csv, json or xlsx. The file has the places the collection holds now, even if it is still running. The link opens without an API key for 24 hours, so share it only with people who should see the file. Needs an API key. Costs no credits.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                collectionId:
                  type: string
                  format: uuid
                  pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  description: The collection to export, as create_collection or search_places returned it.
                format:
                  default: csv
                  description: 'The file type: csv, json or xlsx. An xlsx file holds up to 50,000 places.'
                  type: string
                  enum:
                  - csv
                  - json
                  - xlsx
                locale:
                  description: 'The language of the column names in csv and xlsx files: en or pt-BR. Defaults to your account''s language.'
                  type: string
                  enum:
                  - en
                  - pt-BR
              required:
              - collectionId
      security:
      - apiKey: []
      responses:
        '201':
          description: Export a collection
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        description: Our id for the export. get_export takes it.
                      collectionId:
                        type: string
                        format: uuid
                        pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        description: The collection the file is built from.
                      format:
                        type: string
                        enum:
                        - csv
                        - json
                        - xlsx
                        description: 'The file type: csv, json or xlsx.'
                      locale:
                        type: string
                        enum:
                        - en
                        - pt-BR
                        description: The language of the column names in csv and xlsx files.
                      rows:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 9007199254740991
                        description: The places the collection held when the export was made. A place whose business asked to be left out since then is not in the file, so it can hold fewer.
                      url:
                        type: string
                        format: uri
                        description: Opens the file without an API key, until `expiresAt`. Treat it like a password.
                      createdAt:
                        type: string
                        format: date-time
                        pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        description: When you made the export.
                      expiresAt:
                        type: string
                        format: date-time
                        pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        description: When `url` stops working, 24 hours after `createdAt`.
                    required:
                    - id
                    - collectionId
                    - format
                    - locale
                    - rows
                    - url
                    - createdAt
                    - expiresAt
                    additionalProperties: false
                  meta:
                    anyOf:
                    - type: object
                      properties:
                        total:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Every item that matches, not just this page.
                        limit:
                          type: integer
                          exclusiveMinimum: 0
                          maximum: 9007199254740991
                          description: The most items a page holds.
                        offset:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: How many items came before this page.
                        hasMore:
                          type: boolean
                          description: True when another page follows.
                      required:
                      - total
                      - limit
                      - offset
                      - hasMore
                      additionalProperties: false
                    - type: object
                      properties:
                        cost:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Credits this call took.
                        creditsRemaining:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Credits left after this call, this month's and bought ones together.
                        requestId:
                          type: string
                          minLength: 1
                          description: This call's id. Send it to support if something went wrong.
                        cached:
                          description: True when this response used only saved results.
                          type: boolean
                      required:
                      - cost
                      - creditsRemaining
                      - requestId
                      additionalProperties: false
        default:
          description: Any other failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      x-sdk:
        method: exports.create
        returns: ExportDto
      x-mcp-tool: create_export
    servers:
    - url: https://api.gmaps.dev/v1
  /exports/{id}:
    get:
      operationId: get_export
      tags:
      - Exports
      summary: Read an export
      description: 'Read an export you made, with its download link, while the link still works. After 24 hours, or once the collection''s places are deleted, it answers 404: make a new export from the collection. Needs an API key. Costs no credits.'
      parameters:
      - name: id
        in: path
        required: true
        description: The export's id, as create_export returned it.
        schema:
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: The export's id, as create_export returned it.
      security:
      - apiKey: []
      responses:
        '200':
          description: Read an export
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        description: Our id for the export. get_export takes it.
                      collectionId:
                        type: string
                        format: uuid
                        pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        description: The collection the file is built from.
                      format:
                        type: string
                        enum:
                        - csv
                        - json
                        - xlsx
                        description: 'The file type: csv, json or xlsx.'
                      locale:
                        type: string
                        enum:
                        - en
                        - pt-BR
                        description: The language of the column names in csv and xlsx files.
                      rows:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 9007199254740991
                        description: The places the collection held when the export was made. A place whose business asked to be left out since then is not in the file, so it can hold fewer.
                      url:
                        type: string
                        format: uri
                        description: Opens the file without an API key, until `expiresAt`. Treat it like a password.
                      createdAt:
                        type: string
                        format: date-time
                        pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        description: When you made the export.
                      expiresAt:
                        type: string
                        format: date-time
                        pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        description: When `url` stops working, 24 hours after `createdAt`.
                    required:
                    - id
                    - collectionId
                    - format
                    - locale
                    - rows
                    - url
                    - createdAt
                    - expiresAt
                    additionalProperties: false
                  meta:
                    anyOf:
                    - type: object
                      properties:
                        total:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Every item that matches, not just this page.
                        limit:
                          type: integer
                          exclusiveMinimum: 0
                          maximum: 9007199254740991
                          description: The most items a page holds.
                        offset:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: How many items came before this page.
                        hasMore:
                          type: boolean
                          description: True when another page follows.
                      required:
                      - total
                      - limit
                      - offset
                      - hasMore
                      additionalProperties: false
                    - type: object
                      properties:
                        cost:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Credits this call took.
                        creditsRemaining:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Credits left after this call, this month's and bought ones together.
                        requestId:
                          type: string
                          minLength: 1
                          description: This call's id. Send it to support if something went wrong.
                        cached:
                          description: True when this response used only saved results.
                          type: boolean
                      required:
                      - cost
                      - creditsRemaining
                      - requestId
                      additionalProperties: false
        default:
          description: Any other failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      x-sdk:
        method: exports.get
        returns: ExportDto
      x-mcp-tool: get_export
    servers:
    - url: https://api.gmaps.dev/v1
components:
  schemas:
    ApiError:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
              enum:
              - VALIDATION_ERROR
              - UNAUTHORIZED
              - INVALID_TOKEN
              - PLAN_GATE
              - AUP_REQUIRED
              - FORBIDDEN
              - NOT_FOUND
              - PLACE_NOT_FOUND
              - COLLECTION_NOT_FOUND
              - EXPORT_NOT_FOUND
              - CONFLICT
              - PAYLOAD_TOO_LARGE
              - GEO_UNRESOLVED
              - UPSTREAM_BLOCKED
              - RATE_LIMIT_EXCEEDED
              - QUOTA_EXCEEDED
              - INTERNAL_ERROR
              - ENGINE_UNAVAILABLE
              - SERVICE_UNAVAILABLE
              - BILLING_UNAVAILABLE
              description: What went wrong, as a word a program can check.
            message:
              type: string
              description: What went wrong, as a sentence.
            messageKey:
              type: string
              description: '`message` as a key, to show it in your reader''s language, with `params` filling its blanks.'
            params:
              type: object
              additionalProperties:
                type:
                - string
                - number
              description: The values that fill `messageKey`'s blanks, such as a limit.
            details:
              description: More about this error, such as retryAfterSecs.
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: 'Send your API key as "Authorization: Bearer gm_…".'
x-refined-from:
- openapi.json
- gmaps-dev-openapi.json
x-provenance:
  method: harvested
  publisher: gmaps.dev
  source: https://api.gmaps.dev/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)