All Projects → mrazza → path-data

mrazza / path-data

Licence: MIT license
A gRPC API that exposes various information about the PATH transit system.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to path-data

subwayclock
Display clock for NYC subways
Stars: ✭ 29 (+0%)
Mutual labels:  nyc, subway
goodservice
Website that detects headway discrepancy on New York City Subway system using live countdown clocks
Stars: ✭ 26 (-10.34%)
Mutual labels:  nyc, subway
theweekendest
Real-time New York City subway service map
Stars: ✭ 51 (+75.86%)
Mutual labels:  nyc, subway
subway-time
A nice NYC Subway time table.
Stars: ✭ 25 (-13.79%)
Mutual labels:  nyc, subway
awesome-gtfs
🚌 A collection of awesome gtfs libraries, resources and other things.
Stars: ✭ 35 (+20.69%)
Mutual labels:  transit-data, transit-agencies
playwright-test
Run unit tests with several runners or benchmark inside real browsers with playwright.
Stars: ✭ 81 (+179.31%)
Mutual labels:  nyc
nycbikemap
A web-based, unified, interactive bike map for NYC that combines information from NYC OpenData, Citi Bike and other sources.
Stars: ✭ 15 (-48.28%)
Mutual labels:  nyc
nyc-infosec
Mapping the NYC Infosec Community
Stars: ✭ 41 (+41.38%)
Mutual labels:  nyc
currency-api
A demo project on how to test a node/express app with Mocha, Nock and proxyquire (MNP) and code coverage with nyc/istanbul.
Stars: ✭ 19 (-34.48%)
Mutual labels:  nyc
geoclient
R interface to NYC's Geoclient REST API
Stars: ✭ 13 (-55.17%)
Mutual labels:  nyc
meetup
For organizing the design systems meetup in NYC.
Stars: ✭ 23 (-20.69%)
Mutual labels:  nyc
ACCESS-NYC
Find help in NYC with food, money, housing, work, and more on ACCESS NYC. Maintained by @NYCOpportunity
Stars: ✭ 27 (-6.9%)
Mutual labels:  nyc
istanbul-badges-readme
Creates and updates README testing coverage badges with your json-summary
Stars: ✭ 77 (+165.52%)
Mutual labels:  nyc
nyc-crash-mapper
React Redux web application for viewing, filtering, & comparing trends of automobile collision data published by the NYPD.
Stars: ✭ 15 (-48.28%)
Mutual labels:  nyc
labs-factfinder
New York City Census Reporting Tool
Stars: ✭ 34 (+17.24%)
Mutual labels:  nyc
data-analysis-using-python
Data Analysis Using Python: A Beginner’s Guide Featuring NYC Open Data
Stars: ✭ 81 (+179.31%)
Mutual labels:  nyc
tenants
JustFix.nyc is a tool to document, organize, and take action in getting repairs made on your apartment.
Stars: ✭ 15 (-48.28%)
Mutual labels:  nyc
nyc-mta-arrival-notify
A basic python script that reads the NYC MTA realtime feed API for subway data and outputs when the next arrival is for a given station.
Stars: ✭ 45 (+55.17%)
Mutual labels:  nyc
Lambda
Physically based renderer written in C++
Stars: ✭ 26 (-10.34%)
Mutual labels:  path
citibike
A Node.js library for Citibike's REST API
Stars: ✭ 37 (+27.59%)
Mutual labels:  nyc

PATH Data API Build Code Coverage

This repository contains the contract and server-side implementation of an API that exposes data about the Port Authority Trans-Hudson Rapid Transit System.

This software is not endorsed nor supported by the Port Authority of New York and New Jersey.

Using This Software

Prefer to use the publically exposed API (below) rather than running this software yourself. See this article for more information.

Public APIs

The APIs provided by this service can be found at:

List Stations

HTTP: https://path.api.razza.dev/v1/stations

{
  "stations": [
    {
      "station": "NEWARK",
      "id": "26733",
      "name": "Newark",
      "coordinates": {
        "latitude": 40.73454,
        "longitude": -74.16375
      },
      "platforms": [
        // ...
      ],
      "entrances": [
        // ...
      ],
      "timezone": "America/New_York"
    },
    // ...
  ]
}

Get Station

HTTP: https://path.api.razza.dev/v1/stations/{station_name} where {station_name} is one of:

newark
harrison
journal_square
grove_street
exchange_place
world_trade_center
newport
hoboken
christopher_street
ninth_street
fourteenth_street
twenty_third_street
thirty_third_street

HTTP: https://path.api.razza.dev/v1/stations/harrison

{
  "station": "HARRISON",
  "id": "26729",
  "name": "Harrison",
  "coordinates": {
    "latitude": 40.73942,
    "longitude": -74.15587
  },
  "platforms": [
    {
      "id": "781720",
      "name": "Harrison",
      "coordinates": {
        "latitude": 40.73942,
        "longitude": -74.15587
      }
    },
    {
      "id": "781721",
      "name": "Harrison",
      "coordinates": {
        "latitude": 40.73942,
        "longitude": -74.15587
      }
    }
  ],
  "entrances": [
    {
      "id": "782492",
      "name": "Harrison",
      "coordinates": {
        "latitude": 40.739,
        "longitude": -74.1558
      }
    },
    {
      "id": "782493",
      "name": "Harrison",
      "coordinates": {
        "latitude": 40.7395,
        "longitude": -74.1559
      }
    }
  ],
  "timezone": "America/New_York"
}

Realtime Arrivals

HTTP: https://path.api.razza.dev/v1/stations/<station_name>/realtime

{
  "upcomingTrains": [
    {
      "lineColors": [
        "#65C100"
      ],
      "projectedArrival": "2019-04-13T01:56:00Z",
      "lastUpdated": "2019-04-13T01:52:05Z",
      "status": "ON_TIME",
      "headsign": "Hoboken",
      "route": "HOB_WTC",
      "routeDisplayName": "World Trade Center - Hoboken",
      "direction": "TO_NJ"
    },
    {
      "lineColors": [
        "#65C100"
      ],
      "projectedArrival": "2019-04-13T02:11:00Z",
      "lastUpdated": "2019-04-13T01:52:05Z",
      "status": "ON_TIME",
      "headsign": "Hoboken",
      "route": "HOB_WTC",
      "routeDisplayName": "World Trade Center - Hoboken",
      "direction": "TO_NJ"
    },
    {
      "lineColors": [
        "#D93A30"
      ],
      "projectedArrival": "2019-04-13T02:01:00Z",
      "lastUpdated": "2019-04-13T01:52:05Z",
      "status": "ON_TIME",
      "headsign": "Newark",
      "route": "NWK_WTC",
      "routeDisplayName": "World Trade Center - Newark",
      "direction": "TO_NJ"
    },
    {
      "lineColors": [
        "#D93A30"
      ],
      "projectedArrival": "2019-04-13T02:16:00Z",
      "lastUpdated": "2019-04-13T01:52:05Z",
      "status": "ON_TIME",
      "headsign": "Newark",
      "route": "NWK_WTC",
      "routeDisplayName": "World Trade Center - Newark",
      "direction": "TO_NJ"
    }
  ]
}

List Routes

HTTP: https://path.api.razza.dev/v1/routes/

{
  "routes": [
    {
      "route": "JSQ_33_HOB",
      "id": "1024",
      "name": "Journal Square - 33rd Street (via Hoboken)",
      "color": "ff9900",
      "lines": [
        {
          "displayName": "33rd Street (via Hoboken) - Journal Square",
          "headsign": "Journal Square via Hoboken",
          "direction": "TO_NJ"
        },
        {
          "displayName": "Journal Square - 33rd Street (via Hoboken)",
          "headsign": "33rd via Hoboken",
          "direction": "TO_NY"
        }
      ]
    },
    // ...
  ]
}

Get Route

HTTP: https://path.api.razza.dev/v1/routes/NWK_WTC

{
  "route": "NWK_WTC",
  "id": "862",
  "name": "Newark - World Trade Center",
  "color": "d93a30",
  "lines": [
    {
      "displayName": "World Trade Center - Newark",
      "headsign": "Newark",
      "direction": "TO_NJ"
    },
    {
      "displayName": "Newark - World Trade Center",
      "headsign": "World Trade Center",
      "direction": "TO_NY"
    }
  ]
}

Demo

You can query the API via your web browser by navigating to a valid endpoint. For example the 9th street station realtime data.

A simple web app using the realtime arrival data can be found here.

Versioning

New fields and features will continue to be added to v1 of the API. No fields will be removed and no breaking changes will be made to v1. Any breaking changes will result in a version number increment and the previous API version will run along side the new version for at least 30 days. There are a number of external consumers of this API including Transit and Citymapper.

Other sources

Project to convert this data into GTFS Realtime format: https://github.com/jamespfennell/path-train-gtfs-realtime

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].