Access comprehensive GTFS feed catalog with downloads
Access the GTFS feed catalog with original and improved data, validation reports, licenses, short public content and artifact hashes, and versioned download URLs. Filter by countryIso or feedName and save each file using downloadFileName.
countryIso filter, this endpoint returns all feeds worldwide (~10 MB response). Use countryIso to reduce response size.contentHash and artifactHash are 16-character public prefixes of the full internal hashes. Improved GTFS paths use https://{color}s3.transitpdf.com/files/uran/improved-gtfs-<feedName>/<artifactHash>.zip. Save the response using downloadFileName instead of the hash from the URL.Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
countryIso | string | ISO country code to filter feeds (e.g., 'USA', 'DNK', 'CHE') | USA | |
feedName | string | Exact feed name to return one feed and its derivatives | kotoden |
Try It Out
https://capi.busmaps.com:8443Popular parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/getGtfsFeedsDownloads?feedName=kotoden" catalog=$(curl -s \
-H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/getGtfsFeedsDownloads?feedName=kotoden")
url=$(printf '%s' "$catalog" | jq -r '.[0].feeds[0].derivatives[] | select(.fileName == "improved_gtfs.zip") | .path')
name=$(printf '%s' "$catalog" | jq -r '.[0].feeds[0].derivatives[] | select(.fileName == "improved_gtfs.zip") | .downloadFileName')
curl -L "$url" -o "$name"Response Example
HTTP 200 - Success
[
{
"countryUrl": "uk",
"countryRegion": "Europe",
"countryName": "United Kingdom",
"countryIso": "GBR",
"feeds": [
{
"feedId": 50,
"feedName": "great-britain",
"feedGroupId": 15,
"feedGroupName": "Datafeeds",
"derivatives": [
{
"type": "processed_data",
"size": 434.77,
"path": "https://blues3.transitpdf.com/files/uran/improved-gtfs-great-britain/8789798de963a020.zip",
"fileName": "improved_gtfs.zip",
"extension": "zip",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"creationDate": "2026-05-29",
"contentHash": "e901e76c1cfbbc63",
"artifactHash": "8789798de963a020",
"downloadFileName": "improved-gtfs-great-britain.zip",
"routeTypes": [
{
"routeTypeName": "Bus",
"routeType": 3,
"routeTypeGroup": "bus"
},
{
"routeTypeName": "Ferry",
"routeType": 4,
"routeTypeGroup": "ferry"
},
{
"routeTypeName": "Tram",
"routeType": 0,
"routeTypeGroup": "tram"
},
{
"routeTypeName": "Metro",
"routeType": 1,
"routeTypeGroup": "metro"
},
{
"routeTypeName": "Cable car",
"routeType": 6,
"routeTypeGroup": "cable-car"
},
{
"routeTypeName": "Coach Service",
"routeType": 200,
"routeTypeGroup": "bus"
},
{
"routeTypeName": "Cable tram",
"routeType": 5,
"routeTypeGroup": "tram"
},
{
"routeTypeName": "Monorail",
"routeType": 12,
"routeTypeGroup": "monorail"
},
{
"routeTypeName": "Tourist Railway Service",
"routeType": 107,
"routeTypeGroup": "rail"
},
{
"routeTypeName": "Rail",
"routeType": 2,
"routeTypeGroup": "rail"
},
{
"routeTypeName": "Rail Replacement Bus Service",
"routeType": 714,
"routeTypeGroup": "bus"
}
]
},
{
"type": "source_data",
"size": 428.05,
"path": "https://blues3.transitpdf.com/files/sourcedata/great-britain/55850cb92b7459e4.zip",
"fileName": "source_gtfs.zip",
"extension": "zip",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"publicLink": "http://traveline.info",
"creationDate": "2026-05-29",
"contentHash": "e105b1c0d40cf70c",
"artifactHash": "55850cb92b7459e4",
"downloadFileName": "source-gtfs-great-britain.zip"
},
{
"type": "processed_data",
"size": 0.1,
"path": "https://blues3.transitpdf.com/files/derivatives/great-britain/mobilitydata/e27225b5c5a7f894.zip",
"fileName": "md_improved.zip",
"extension": "zip",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"creationDate": "2026-05-29",
"artifactHash": "e27225b5c5a7f894",
"downloadFileName": "improved-great-britain-mobilitydata-report.zip"
},
{
"type": "processed_data",
"size": 11.98,
"path": "https://blues3.transitpdf.com/files/derivatives/great-britain/geojson/5fb98f438a9b50b7.zip",
"fileName": "geojson_data",
"extension": "geojson",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"creationDate": "2026-05-29",
"artifactHash": "5fb98f438a9b50b7",
"downloadFileName": "great-britain-geojson.zip"
},
{
"type": "source_data",
"size": 0.1,
"path": "https://greens3.transitpdf.comhttps://www.travelinedata.org.uk/",
"fileName": "traveline",
"extension": "html",
"creationDate": "2026-05-29"
},
{
"type": "source_data",
"size": 0.1,
"path": "https://greens3.transitpdf.comhttps://opendata.nationalrail.co.uk/",
"fileName": "networkrail",
"extension": "html",
"creationDate": "2026-05-29"
},
{
"type": "source_data",
"size": 0.1,
"path": "https://greens3.transitpdf.comhttps://busmaps.com/en/uk/Datafeeds/great-britain",
"fileName": "manually_enriched_data",
"extension": "html",
"creationDate": "2026-05-29"
},
{
"type": "source_data",
"size": 0.1,
"path": "https://greens3.transitpdf.comhttps://www.travelinedata.org.uk/traveline-open-data/transport-operations/advanced/",
"fileName": "NOC_database",
"extension": "html",
"creationDate": "2026-05-29"
},
{
"type": "source_data",
"size": 0.1,
"path": "https://greens3.transitpdf.comhttps://beta-naptan.dft.gov.uk/Download/National",
"fileName": "NaPTAN_UK",
"extension": "html",
"creationDate": "2026-05-29"
},
{
"type": "source_data",
"size": 0.26,
"path": "https://blues3.transitpdf.com/files/derivatives/sourcedata/great-britain/mobilitydata/e5831e8b817648ab.zip",
"fileName": "md.zip",
"extension": "zip",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"creationDate": "2026-05-29",
"artifactHash": "e5831e8b817648ab",
"downloadFileName": "great-britain-mobilitydata-report.zip"
}
]
},
{
"feedId": 51,
"feedName": "northern-ireland",
"feedGroupId": 15,
"feedGroupName": "Datafeeds",
"derivatives": [
{
"type": "processed_data",
"size": 4.4,
"path": "https://blues3.transitpdf.com/files/uran/improved-gtfs-northern-ireland/8e5875777b7b934e.zip",
"fileName": "improved_gtfs.zip",
"extension": "zip",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"creationDate": "2026-05-29",
"contentHash": "d48086e323e9196d",
"artifactHash": "8e5875777b7b934e",
"downloadFileName": "improved-gtfs-northern-ireland.zip",
"routeTypes": [
{
"routeTypeName": "Bus",
"routeType": 3,
"routeTypeGroup": "bus"
},
{
"routeTypeName": "Rail",
"routeType": 2,
"routeTypeGroup": "rail"
}
]
},
{
"type": "source_data",
"size": 4.33,
"path": "https://blues3.transitpdf.com/files/sourcedata/northern-ireland/02b87f50813ab393.zip",
"fileName": "source_gtfs.zip",
"extension": "zip",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"publicLink": "https://www.opendatani.gov.uk/@translink",
"creationDate": "2026-05-29",
"contentHash": "c205a02c7fd7708b",
"artifactHash": "02b87f50813ab393",
"downloadFileName": "source-gtfs-northern-ireland.zip"
},
{
"type": "processed_data",
"size": 0.01,
"path": "https://blues3.transitpdf.com/files/derivatives/northern-ireland/mobilitydata/0f034f3202c48096.zip",
"fileName": "md_improved.zip",
"extension": "zip",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"creationDate": "2026-05-29",
"artifactHash": "0f034f3202c48096",
"downloadFileName": "improved-northern-ireland-mobilitydata-report.zip"
},
{
"type": "processed_data",
"size": 0.39,
"path": "https://blues3.transitpdf.com/files/derivatives/northern-ireland/geojson/0fc31d63ab9f725a.zip",
"fileName": "geojson_data",
"extension": "geojson",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"creationDate": "2026-05-29",
"artifactHash": "0fc31d63ab9f725a",
"downloadFileName": "northern-ireland-geojson.zip"
},
{
"type": "source_data",
"size": 0.1,
"path": "https://greens3.transitpdf.comhttps://www.opendatani.gov.uk/@translink",
"fileName": "translink",
"extension": "html",
"creationDate": "2026-05-29"
},
{
"type": "source_data",
"size": 0.1,
"path": "https://greens3.transitpdf.comhttps://busmaps.com/en/uk/Datafeeds/northern-ireland",
"fileName": "manually_enriched_data",
"extension": "html",
"creationDate": "2026-05-29"
},
{
"type": "source_data",
"size": 0.02,
"path": "https://blues3.transitpdf.com/files/derivatives/sourcedata/northern-ireland/mobilitydata/ffebba6429d95d40.zip",
"fileName": "md.zip",
"extension": "zip",
"licenseName": "Busmaps_licence_v1",
"licenseLink": "https://busmaps.com/en/license",
"creationDate": "2026-05-29",
"artifactHash": "ffebba6429d95d40",
"downloadFileName": "northern-ireland-mobilitydata-report.zip"
}
]
}
]
}
]Response Schema
Title: GTFS Feeds Downloads Response View Full JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "GTFS Feeds Catalog Response",
"type": "array",
"items": {
"type": "object",
"properties": {
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"countryName": {
"type": "string",
"description": "Country name"
},
"feeds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"feedId": {
"type": "integer",
"description": "Unique feed identifier"
},
"feedGroupId": {
"type": "integer",
"description": "Feed group identifier"
},
"derivatives": {
"type": "array",
"items": {
"type": "object",
"properties": {
"creationDate": {
"type": "string",
"description": "Date feed was created/updated (YYYY-MM-DD format)"
},
"routeTypes": {
"type": [
"array",
"null",
"object"
],
"items": {
"type": "object",
"properties": {
"routeType": {
"type": "integer",
"description": "Transport type (bus, subway, train, tram, ...)"
},
"routeTypeName": {
"type": "string",
"description": "Human-readable transport type name"
},
"routeTypeGroup": {
"type": "string",
"description": "Grouped transport category"
}
},
"required": [
"routeTypeName",
"routeType",
"routeTypeGroup"
]
},
"description": "Route types present in the feed",
"properties": {
"routeTypeName": {
"type": "string",
"description": "Human-readable transit mode"
},
"routeType": {
"type": "integer",
"description": "Transport type (bus, subway, train, tram, ...)"
},
"routeTypeGroup": {
"type": "string",
"description": "Transit mode category"
}
}
},
"path": {
"type": "string",
"description": "Current color-prefixed R2 download URL; versioned artifact paths use the 16-character artifactHash as the final directory segment"
},
"licenseName": {
"type": "string",
"description": "License identifier"
},
"fileName": {
"type": "string",
"description": "Descriptive file name"
},
"extension": {
"type": "string",
"description": "File format (zip, geojson)"
},
"type": {
"type": "string",
"description": "Type discriminator for the object"
},
"licenseLink": {
"type": "string",
"description": "URL to license details"
},
"contentHash": {
"type": "string",
"description": "First 16 hexadecimal characters of the logical GTFS content hash"
},
"artifactHash": {
"type": "string",
"description": "First 16 hexadecimal characters of the final file SHA-256"
},
"downloadFileName": {
"type": "string",
"description": "Descriptive filename to use when saving the download"
},
"publicLink": {
"type": [
"null",
"string"
],
"description": "Public source URL (if available)"
},
"size": {
"type": "number",
"description": "File size in megabytes (MB)"
},
"feedId": {
"type": "integer",
"description": "Reference to parent feed"
},
"sha1": {
"type": "string",
"description": "SHA1 checksum"
},
"sha256": {
"type": "string",
"description": "SHA256 checksum"
}
},
"required": [
"extension",
"type",
"creationDate",
"path",
"fileName",
"size"
]
},
"description": "Processed/improved versions of the feed with downloads"
},
"feedName": {
"type": "string",
"description": "Feed name identifier"
},
"feedGroupName": {
"type": "string",
"description": "Human-readable feed group name"
}
},
"required": [
"feedId",
"feedGroupId",
"derivatives",
"feedName",
"feedGroupName"
]
},
"description": "Array of GTFS feeds for the country"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"countryRegion": {
"type": "string",
"description": "World region"
}
},
"required": [
"countryIso",
"countryName",
"feeds",
"countryUrl",
"countryRegion"
]
},
"description": "Array of country objects, each containing their available GTFS feeds"
}
Response Codes
GTFS feeds catalog retrieved successfully
Invalid country code
Internal server error