How to Download Feeds

Overview

Feeds deliver your licensed content as daily gzipped JSON files. They suit bulk processing and full-catalog syncs rather than per-request lookups. Feeds require the Innovate or Transform package and a feed configuration set up with your account team.

Feeds use their own API key, separate from the one you use for content endpoints.

1. Get your feed API key

  • Contact your Tripadvisor partnership team to request feed access.
  • Receive your feed API key.
  • Confirm your feed configuration and delivery schedule.

2. Check which files are available

Use the List Files endpoint to see what you can download:

curl "https://terra.tripadvisor.com/api/feeds/files/list?version=1" \
  -H "X-API-Key: YOUR_FEED_API_KEY"

Optional parameters

ParameterNotes
pagePage index. Pages are 1-based; the default is 1.
sizeFiles per page. The default is 5, so raise it if you expect more.
sortSort criteria for the results.

Response

{
  "data": [
    { "filename": "location.json.gz", "filesize": 10420 }
  ],
  "pagination": {
    "page": 1,
    "size": 5,
    "total_elements": 6,
    "total_pages": 2
  }
}

Each entry carries filename and filesize only. filesize is the compressed size in bytes.

3. Download a feed file

Take a filename from step 2. You have two options.

Option A: direct download (recommended)

Follow the redirect to a presigned URL:

curl -L -o location.json.gz \
  "https://terra.tripadvisor.com/api/feeds/location.json.gz?version=1" \
  -H "X-API-Key: YOUR_FEED_API_KEY"

The -L flag follows the redirect and -o saves the file locally. The redirect target is S3. Some HTTP clients drop the X-API-Key header when they follow a redirect; that is fine, because the presigned URL carries its own authentication.

Option B: fetch a temporary URL

Use this when you need the URL for a later job:

curl "https://terra.tripadvisor.com/api/feeds/json/location.json.gz?version=1" \
  -H "X-API-Key: YOUR_FEED_API_KEY"

The response gives you:

  • url — a presigned URL for downloading the file
  • exp — the moment that URL stops working

Do not store the presigned URL. Store the filename and request a fresh URL when you need one.

4. Process your downloaded feed

# Decompress the gzipped file
gunzip location.json.gz

# The result is a JSON file ready for processing
cat location.json | jq '.'

Feed file names

FeedFilename
Locationslocation.json.gz
Geosgeo.json.gz
Photosphoto.json.gz
Reviewsreview20260902.json.gz — one file per day, dated yyyyMMdd
Enumerationsenum_V1.json.gz

Every file is gzipped, so every name ends in .json.gz. The enumerations feed is named for the API version it matches: enum_V1.json.gz for v1.

Feed generation and retention

  • Feeds are regenerated daily with fresh data.
  • Files are kept for 12 days after generation. Download and store anything you need to keep longer.
  • Feed versions are pinned to your account, not chosen per request. To move your feeds to a different API version, ask your account team to change your delivery configuration.

Related


Did this page help you?