Government — entry 014 of 90

City, Nantes Open Data

Verified Aug 2026

Nantes Métropole's open-data portal runs OpenDataSoft; the stored record's `API Key` requirement is stale — a live keyless GET against the v2.1 Explore API (`data.nantesmetropole.fr/api/explore/v2.1/catalog/datasets`) returned full JSON catalogue metadata with a wildcard `Access-Control-Allow-Origin` header, and dataset exports in GeoJSON and CSV worked the same way with no key. An API key is only required for OpenDataSoft's write/administration endpoints, not for reading the catalogue's 590+ datasets.

open-datagovernment-dataopendatasoftmunicipalfrance
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/city-nantes-open-data/"><img src="https://greatapis.com/badge/city-nantes-open-data.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://data.nantesmetropole.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://data.nantesmetropole.fr/api/explore/v2.1
Rate limit

10,000 requests/day

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

Availability

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

5 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 ↗