gmaps.dev Exports API
The Exports API from gmaps.dev — 2 operation(s) for exports.
The Exports API from gmaps.dev — 2 operation(s) for exports.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/gmaps-dev:gmaps-dev-exports-api"
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.
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: 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)