Transportation — entry 036 of 69

Transport for Bordeaux, France

Verified Aug 2026

Bordeaux Métropole's open-data portal (Opendatasoft-hosted), publishing city-wide datasets including TBM tram/bus stops, real-time bike-share (VCub) availability, and traffic/parking feeds alongside hundreds of non-transit civic datasets. Public dataset reads work anonymously with no key; higher rate limits and access to restricted datasets require a free account API key.

transitopen-databordeauxfrancegtfs
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSON, CSV, GeoJSONResponses can be requested as JSON or CSV or GeoJSON.

GreatAPIs Score

Score100out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 3 response formats
Freshness20/20Verified within 6 months

Embed this badge

Scored 100 on greatapis.com
<a href="https://greatapis.com/api/transport-for-bordeaux-france/"><img src="https://greatapis.com/badge/transport-for-bordeaux-france.svg" alt="Scored 100 on greatapis.com"></a>

Auth quickstart

  1. No key needed — call it now.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://opendata.bordeaux-metropole.fr/api/explore/v2.1
Auth
apikey
Catalog7

API to enumerate datasets

GET/catalog/datasetsQuery catalog datasets
Parameters
NameInRequiredType
selectquerynostring
wherequerynostring
order_byquerynostring
limitquerynointeger
offsetquerynointeger
refinequerynostring
excludequerynostring
langquerynostring
timezonequerynostring
group_byquerynostring
include_linksquerynoboolean
include_app_metasquerynoboolean
Responses
StatusDescriptionSchema
200A list of available datasetsdatasets
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}Show dataset information
Parameters
NameInRequiredType
dataset_idpathyesstring
selectquerynostring
langquerynostring
timezonequerynostring
include_linksquerynoboolean
include_app_metasquerynoboolean
Responses
StatusDescriptionSchema
200The datasetdataset
400
401Unauthorized
429
500Internal Server Error
GET/catalog/exportsList export formats
Responses
StatusDescriptionSchema
200A list of available export formats
400
401Unauthorized
429
500Internal Server Error
GET/catalog/exports/csvExport a catalog in CSV
Parameters
NameInRequiredType
delimiterquerynostring
list_separatorquerynostring
quote_allquerynoboolean
with_bomquerynoboolean
Responses
StatusDescriptionSchema
200Return a file
400
401Unauthorized
429
500Internal Server Error
GET/catalog/exports/dcat{dcat_ap_format}Export a catalog in RDF/XML (DCAT)
Parameters
NameInRequiredType
dcat_ap_formatpathyesstring
include_exportsqueryno
use_labels_in_exportsquerynoboolean
Responses
StatusDescriptionSchema
200Return a file
400
401Unauthorized
429
500Internal Server Error
GET/catalog/exports/{format}Export a catalog
Parameters
NameInRequiredType
formatpathyesstring
selectquerynostring
wherequerynostring
order_byquerynostring
group_byquerynostring
limitquerynointeger
offsetquerynointeger
refinequerynostring
excludequerynostring
langquerynostring
timezonequerynostring
Responses
StatusDescriptionSchema
200Return a file
400
401Unauthorized
429
500Internal Server Error
GET/catalog/facetsList facet values
Parameters
NameInRequiredType
facetquerynostring
refinequerynostring
excludequerynostring
wherequerynostring
timezonequerynostring
Responses
StatusDescriptionSchema
200An enumeration of facets
400
401Unauthorized
429
500Internal Server Error
Dataset9

API to work on records

GET/catalog/datasets/{dataset_id}/attachmentsList dataset attachments
Parameters
NameInRequiredType
dataset_idpathyesstring
Responses
StatusDescriptionSchema
200List of all available attachments
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}/exportsList export formats
Parameters
NameInRequiredType
dataset_idpathyesstring
Responses
StatusDescriptionSchema
200A list of available export formats
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}/exports/csvExport a dataset in CSV
Parameters
NameInRequiredType
dataset_idpathyesstring
delimiterquerynostring
list_separatorquerynostring
quote_allquerynoboolean
with_bomquerynoboolean
Responses
StatusDescriptionSchema
200Return a file
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}/exports/gpxExport a dataset in GPX
Parameters
NameInRequiredType
dataset_idpathyesstring
name_fieldquerynostring
description_field_listquerynostring
use_extensionquerynoboolean
Responses
StatusDescriptionSchema
200Return a file
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}/exports/parquetExport a dataset in Parquet
Parameters
NameInRequiredType
dataset_idpathyesstring
parquet_compressionquerynostring
Responses
StatusDescriptionSchema
200Return a file
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}/exports/{format}Export a dataset
Parameters
NameInRequiredType
dataset_idpathyesstring
formatpathyes
selectquerynostring
wherequerynostring
order_byquerynostring
group_byquerynostring
limitquerynointeger
refinequerynostring
excludequerynostring
langquerynostring
timezonequerynostring
use_labelsquerynoboolean
compressedquerynoboolean
epsgquerynointeger
Responses
StatusDescriptionSchema
200Return a file
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}/facetsList dataset facets
Parameters
NameInRequiredType
dataset_idpathyesstring
wherequerynostring
refinequerynostring
excludequerynostring
facetquerynostring
langquerynostring
timezonequerynostring
Responses
StatusDescriptionSchema
200Facets enumeration
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}/recordsQuery dataset records
Parameters
NameInRequiredType
dataset_idpathyesstring
selectquerynostring
wherequerynostring
group_byquerynostring
order_byquerynostring
limitquerynointeger
offsetquerynointeger
refinequerynostring
excludequerynostring
langquerynostring
timezonequerynostring
include_linksquerynoboolean
include_app_metasquerynoboolean
Responses
StatusDescriptionSchema
200Recordsrecords
400
401Unauthorized
429
500Internal Server Error
GET/catalog/datasets/{dataset_id}/records/{record_id}Read a dataset record
Parameters
NameInRequiredType
dataset_idpathyesstring
record_idpathyesstring
selectquerynostring
langquerynostring
timezonequerynostring
Responses
StatusDescriptionSchema
200A single recordrecord
400
401Unauthorized
429
500Internal Server Error

Try it

Developer reference

Base URLhttps://opendata.bordeaux-metropole.fr/api/explore/v2.1
Rate limit

50,000 requests/day

Key endpoints
  • GET/catalog/datasets
  • GET/catalog/datasets/{dataset_id}/records

Availability

Uptime100%
Median latency1228 ms
Last checkUp · 200 · Sep 2026

4 checks since Aug 2026. A person runs this check by hand, not an automated monitor.

Changelog

Spec versionv2.1
Tracked paths16
  • Aug 2026gained an OpenAPI spec

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗