> ## Content Index
> Fetch the complete content index at: https://www.interline.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# Easily inspect GTFS Realtime using Transitland's website or API
- URL: https://www.interline.io/blog/easily-inspect-gtfs-realtime-using-transitlands-website-or-api/
- Published: 2025-07-22T03:45:24.000Z
- Updated: 2025-07-22T03:45:24.000Z
- Description: Web browsers and text editors can't open GTFS Realtime. But with Transitland, you now can.
- Author: Interline Technologies
- Tags: GTFS, Transitland

GTFS Realtime feeds provide live updates about vehicle positions, trip updates, and service alerts, but they can be challenging to inspect due to their Protocol Buffer format. This binary [format](https://protobuf.dev/?ref=interline.io) is highly efficient for data transmission but requires special tools to decode. You can't just open it up in a text editor or a web browser.

Transitland now offers two convenient ways to parse and view GTFS Realtime feeds: through our web interface and via our REST API.

## Inspecting GTFS Realtime on the Transitland Website

The Transitland website now provides an intuitive interface for viewing GTFS Realtime data directly in your browser. Let's walk through how to use this feature using Portland TriMet's GTFS Realtime feed as an example.

### Finding a GTFS Realtime Feed

1. Navigate to [www.transit.land](https://www.transit.land/?ref=interline.io) and go to the "Source Feeds" section
2. Look for feeds with the GTFS Realtime format designation
3. Click on any GTFS Realtime feed to view its details

![browsing Transitland website for GTFS Realtime feeds](https://storage.ghost.io/c/57/10/5710b77b-3fc0-4094-a25f-875ff38c9df1/content/images/2025/07/image-1.png)

For this example, we'll use the TriMet GTFS Realtime feed at [https://www.transit.land/feeds/f-trimet\~rt](https://www.transit.land/feeds/f-trimet~rt?ref=interline.io)

### Viewing Real-time Data

On the feed page, you'll see comprehensive information about the feed including:

- **Feed identification**: Onestop ID and source URLs
- **Last fetch time**: When the data was most recently updated (Transitland typically refreshes GTFS Realtime feeds once per minute)
- **Authorization details**: Any required API keys or parameters (Transitland keeps its own credentials private; to access the source feed directly, you'll have to sign up for your own credentials)

⏱️

[Learn more](https://www.transit.land/documentation/concepts/source-feeds/?ref=interline.io#gtfs-realtime-feed-fetching-and-caching) about how Transitland caches GTFS Realtime feeds.

The most exciting feature is the "GTFS Realtime Feed Messages" section, which provides three ways to inspect each type of real-time data:

![screenshot of https://www.transit.land/feeds/f-trimet~rt](https://storage.ghost.io/c/57/10/5710b77b-3fc0-4094-a25f-875ff38c9df1/content/images/2025/07/CleanShot-2025-07-21-at-13.25.59.png)

### Interactive JSON Viewer

When you click "View as JSON" for any real-time endpoint, a modal window opens showing:

- **Last fetched timestamp**: When the data was fetched from the source feed
- **Formatted JSON data**: Human-readable data structure. Click the caret arrows to open or close nested sections.
- **Download options**: Buttons to download the entire JSON document or copy it to clipboard

![Interactive JSON viewer for TriMet GTFS Realtime vehicle positions feed](https://storage.ghost.io/c/57/10/5710b77b-3fc0-4094-a25f-875ff38c9df1/content/images/2025/07/image.png)

The JSON viewer displays the data in a structured format that's easy to read and understand, showing all the fields defined in the [GTFS Realtime specification](https://gtfs.org/documentation/realtime/reference/?ref=interline.io).

## Accessing GTFS Realtime via the Transitland API

For programmatic access or integration into your applications, the Transitland REST API provides direct access to Transitland's cached GTFS Realtime data.

### API Endpoint Structure

The API uses the following endpoint pattern:

```
GET https://transit.land/api/v2/rest/feeds/{feed_key}/download_latest_rt/{rt_type}.{format}

```

Where:

- `{feed_key}` is the feed's Onestop ID (e.g., `f-trimet~rt`)
- `{rt_type}` is one of:
  - `vehicle_positions` for vehicle location data
  - `trip_updates` for arrival/departure time changes
  - `alerts` for service disruptions
- `{format}` is either `json` or `pb` (raw Protocol Buffers)

### Example API Call

To access TriMet's cached GTFS Realtime service alerts through the Transitland REST API in JSON format:

```bash
curl https://transit.land/api/v2/rest/feeds/f-trimet~rt/download_latest_rt/alerts.json?apikey=YOUR_API_KEY

```

### API Response Format

When requesting JSON format, the API returns data in the standard GTFS Realtime JSON structure. For example:

```json
{
  "header": {
    "gtfsRealtimeVersion": "2.0",
    "incrementality": "FULL_DATASET",
    "timestamp": "1753153829"
  },
  "entity": [
    {
      "alert": {
        "activePeriod": [
          {
            "start": "1675370449"
          }
        ],
        "descriptionText": {
          "translation": [
            {
              "text": "No service to the eastbound stop at SW Tualatin-Sherwood Rd & Langer Farms (Stop ID 13837) due to Tualatin-Sherwood Rd project."
            }
          ]
        },
        "headerText": {
          "translation": [
            {
              "text": ""
            }
          ]
        },
        "informedEntity": [
          {
            "routeId": "97"
          },
          {
            "stopId": "13837"
          }
        ],
        "url": {
          "translation": [
            {
              "text": "https://trimet.org/alerts/"
            }
          ]
        }
      },
      "id": "164849"
    }
```

### Finding Available GTFS Realtime Feeds

To discover available GTFS Realtime feeds, use the [feeds REST endpoint](https://www.transit.land/documentation/rest-api/feeds?ref=interline.io) with the `spec=gtfs-rt` parameter:

```bash
curl https://transit.land/api/v2/rest/feeds?spec=gtfs-rt&apikey=YOUR_API_KEY
```

You can also [filter by other criteria](https://www.transit.land/documentation/rest-api/feeds?ref=interline.io) to find feeds relevant to your needs.

## Benefits of Using Transitland for GTFS Realtime

Transitland's website and API provide simplified access:

- **No Protocol Buffer tools required**: View data directly in JSON format
- **Real-time updates**: Access the latest data as it becomes available
- **Standardized interface**: Consistent API across all feeds

Transitland also offers comprehensive coverage:

- **Multiple feed types**: Vehicle positions, trip updates, and service alerts (when available)
- **Global coverage**: Access feeds from transit agencies worldwide

🔍

Don't see a GTFS Realtime feed available through Transitland? Help [add it the Transitland Atlas feed registry](https://www.transit.land/documentation/atlas?ref=interline.io).  
  
Alternatively, transit agency staff are welcome to email us GTFS Realtime feed URLs at [hello@transit.land](mailto:hello@transit.land). You may also share auth credentials, which we will keep private.

❌

Finally, please note that some agencies do not allow Transitland to redistribute their feeds in full. In these cases, GTFS Realtime feed export is not allowed through either the Transitland API or website. 

## Getting Started

- **Sign up**: Inspecting GTFS Realtime feeds requires a [free Interline account](https://app.interline.io/?ref=interline.io) (which helps us to limit concurrent requests and ensure prompt responses).
- **For web browsing**: Visit [www.transit.land](https://www.transit.land/?ref=interline.io) and explore the Source Feeds section.
- **For API access**: Get an API key by following the [sign-up instructions](https://www.transit.land/documentation/index?ref=interline.io#signing-up-for-an-api-key).

Whether you're an analyst learning your way around GTFS data or an agency staffer trying to quickly debug your own systems, Transitland provides the tools you need to automatically parse and read GTFS Realtime feeds. The combination of our web interface and REST API makes it simple to explore real-time transit data without the complexity of Protocol Buffer conversion tools.