Skip to main content

GET /v1.1/files

List files available for offline processing. Returns signed URLs for downloading data exports as an alternative to querying the API directly.

Why use offline files?

The v1.1 API enforces rate limiting. If your application needs to warm up a local cache, rebuild a search index, or process all prices in a single day, paginating through /v1.1/search will be too slow and may exceed rate limits.

The /v1.1/files endpoint provides pre-built data exports that you can download in bulk, without any rate-limit concerns. Each file is accessible via a signed URL valid for 24 hours.

File organization

Files are organized under two top-level prefixes:

bulks/ — full data exports (NDJSON)

Each bulk export contains all records of a given type in a single Newline-Delimited JSON (NDJSON) file.

PrefixStructureDescription
bulks/shipbulks/ship/index.ndjsonAll ships in one file
bulks/farebulks/fare/<region>/<ship>/index.ndjsonAll fares, split by region and ship

Fare files contain the same data available through GET /v1.1/search, but organized for offline consumption. Fares are split by region and ship code to keep individual files at a manageable size.

For example, bulks/fare/AFRCA/JR/index.ndjson contains all fares for the Africa region on ship JR.

objects/ — individual records (JSON)

Each record is stored as a separate JSON file, named by its UUID.

PrefixStructureDescription
objects/shipobjects/ship/<uuid>.jsonOne JSON file per ship

Request

GET /v1.1/files

Headers

HeaderRequiredDescription
X-WorldTravel-ApiKeyYesAPI key for authentication

Query Parameters

ParameterTypeDefaultDescription
filter[prefix]stringFilter files by path prefix
page[token]stringPagination token from a previous response

Example Requests

# List all available files
curl -X GET "https://api.rccl.ro/v1.1/files" \
-H "X-WorldTravel-ApiKey: YOUR_API_KEY"
# List all ship bulk exports
curl -X GET "https://api.rccl.ro/v1.1/files?filter[prefix]=bulks/ship" \
-H "X-WorldTravel-ApiKey: YOUR_API_KEY"
# List fare exports for the Africa region
curl -X GET "https://api.rccl.ro/v1.1/files?filter[prefix]=bulks/fare/AFRCA" \
-H "X-WorldTravel-ApiKey: YOUR_API_KEY"
# List individual ship object files
curl -X GET "https://api.rccl.ro/v1.1/files?filter[prefix]=objects/ship" \
-H "X-WorldTravel-ApiKey: YOUR_API_KEY"

Response

200 OK

Returns an array of file resources with signed download URLs.

Response body:

{
"data": [
{
"type": "file",
"id": "bulks/fare/AFRCA/JR/index.ndjson",
"attributes": {
"signed_url": "https://storage.googleapis.com/rccl.ro/bulks/fare/AFRCA/JR/index.ndjson?X-Goog-Signature=...",
"updated_at": "2026-01-17T14:27:00Z"
}
},
{
"type": "file",
"id": "bulks/fare/AFRCA/JR/index.ndjson",
"attributes": {
"signed_url": "https://storage.googleapis.com/rccl.ro/bulks/fare/AFRCA/OA/index.ndjson?X-Goog-Signature=...",
"updated_at": "2026-01-17T14:27:00Z"
}
}
],
"links": {
"self": "/v1.1/files?filter[prefix]=bulks/fare/AFRCA",
"next": "/v1.1/files?filter[prefix]=bulks/fare/AFRCA&page[token]=eyJhbGciOi..."
},
"meta": {
"folders": ["bulks/fare/AFRCA/JR", "bulks/fare/AFRCA/OA"]
},
"jsonapi": {
"version": "1.0"
}
}

File Attributes

FieldTypeDescription
signed_urlstringPre-signed URL to download the file (valid for 24 hours)
updated_atstringLast modification timestamp (ISO 8601)

Meta

FieldTypeDescription
foldersstring[]Folder paths found within the current listing

Pagination

This endpoint uses token-based pagination. When more results are available, the response includes a next link with a page[token] parameter. Pass this token in your next request to retrieve the following page.

Error Responses

StatusDescription
401Unauthorized — missing or invalid API key
500Internal Server Error — upstream query failure

Common use cases

Warm up a local fare cache

To download all fare data for offline processing, start by listing the available fare folders, then download each file:

# 1. Discover all fare folders
curl -X GET "https://api.rccl.ro/v1.1/files?filter[prefix]=bulks/fare" \
-H "X-WorldTravel-ApiKey: YOUR_API_KEY"

# 2. Download a specific fare file using the signed_url from the response
curl -o fares-afrca-jr.ndjson "SIGNED_URL_FROM_RESPONSE"

Download all ship data

# Get the bulk ship export
curl -X GET "https://api.rccl.ro/v1.1/files?filter[prefix]=bulks/ship" \
-H "X-WorldTravel-ApiKey: YOUR_API_KEY"

# Download using the signed_url
curl -o ships.ndjson "SIGNED_URL_FROM_RESPONSE"