{"id":21015720,"url":"https://github.com/mrazza/path-data","last_synced_at":"2025-05-15T05:32:26.164Z","repository":{"id":45932955,"uuid":"179766726","full_name":"mrazza/path-data","owner":"mrazza","description":"A gRPC API that exposes various information about the PATH transit system.","archived":false,"fork":false,"pushed_at":"2024-02-21T23:08:50.000Z","size":5536,"stargazers_count":44,"open_issues_count":4,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T04:41:34.403Z","etag":null,"topics":["csharp","grpc","jersey-city","nj","ny","nyc","panynj","path","subway","transit-agencies","transit-data"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrazza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-05T23:18:57.000Z","updated_at":"2025-03-28T03:06:14.000Z","dependencies_parsed_at":"2023-01-29T20:30:46.089Z","dependency_job_id":null,"html_url":"https://github.com/mrazza/path-data","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrazza%2Fpath-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrazza%2Fpath-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrazza%2Fpath-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrazza%2Fpath-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrazza","download_url":"https://codeload.github.com/mrazza/path-data/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254282292,"owners_count":22045123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","grpc","jersey-city","nj","ny","nyc","panynj","path","subway","transit-agencies","transit-data"],"created_at":"2024-11-19T10:11:02.289Z","updated_at":"2025-05-15T05:32:25.567Z","avatar_url":"https://github.com/mrazza.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PATH Data API [![Build](https://github.com/mrazza/path-data/actions/workflows/dotnet.yml/badge.svg)](https://github.com/mrazza/path-data/actions/workflows/dotnet.yml) [![Code Coverage](https://img.shields.io/codecov/c/github/mrazza/path-data.svg)](https://codecov.io/gh/mrazza/path-data/)\n\nThis repository contains the contract and server-side implementation of an API that exposes data about the Port Authority Trans-Hudson Rapid Transit System.\n\nThis software is not endorsed nor supported by the Port Authority of New York and New Jersey.\n\n# Using This Software\n\nPrefer to use the publically exposed API (below) rather than running this software yourself. See [this article](https://medium.com/@mrazza/programmatic-path-real-time-arrival-data-5d0884ae1ad6#ab14) for more information.\n\n# Public APIs\n\nThe APIs provided by this service can be found at:\n- HTTP: https://path.api.razza.dev/...\n- gRPC: path.grpc.razza.dev (running on the default port, 443)\n\n## List Stations\n\nHTTP: `https://path.api.razza.dev/v1/stations`\n\n```\n{\n  \"stations\": [\n    {\n      \"station\": \"NEWARK\",\n      \"id\": \"26733\",\n      \"name\": \"Newark\",\n      \"coordinates\": {\n        \"latitude\": 40.73454,\n        \"longitude\": -74.16375\n      },\n      \"platforms\": [\n        // ...\n      ],\n      \"entrances\": [\n        // ...\n      ],\n      \"timezone\": \"America/New_York\"\n    },\n    // ...\n  ]\n}\n```\n\n## Get Station\n\nHTTP: `https://path.api.razza.dev/v1/stations/{station_name}` where `{station_name}` is one of:\n\n```\nnewark\nharrison\njournal_square\ngrove_street\nexchange_place\nworld_trade_center\nnewport\nhoboken\nchristopher_street\nninth_street\nfourteenth_street\ntwenty_third_street\nthirty_third_street\n```\n\nHTTP: `https://path.api.razza.dev/v1/stations/harrison`\n\n```\n{\n  \"station\": \"HARRISON\",\n  \"id\": \"26729\",\n  \"name\": \"Harrison\",\n  \"coordinates\": {\n    \"latitude\": 40.73942,\n    \"longitude\": -74.15587\n  },\n  \"platforms\": [\n    {\n      \"id\": \"781720\",\n      \"name\": \"Harrison\",\n      \"coordinates\": {\n        \"latitude\": 40.73942,\n        \"longitude\": -74.15587\n      }\n    },\n    {\n      \"id\": \"781721\",\n      \"name\": \"Harrison\",\n      \"coordinates\": {\n        \"latitude\": 40.73942,\n        \"longitude\": -74.15587\n      }\n    }\n  ],\n  \"entrances\": [\n    {\n      \"id\": \"782492\",\n      \"name\": \"Harrison\",\n      \"coordinates\": {\n        \"latitude\": 40.739,\n        \"longitude\": -74.1558\n      }\n    },\n    {\n      \"id\": \"782493\",\n      \"name\": \"Harrison\",\n      \"coordinates\": {\n        \"latitude\": 40.7395,\n        \"longitude\": -74.1559\n      }\n    }\n  ],\n  \"timezone\": \"America/New_York\"\n}\n```\n\n## Realtime Arrivals\n\nHTTP: `https://path.api.razza.dev/v1/stations/\u003cstation_name\u003e/realtime`\n\n```\n{\n  \"upcomingTrains\": [\n    {\n      \"lineColors\": [\n        \"#65C100\"\n      ],\n      \"projectedArrival\": \"2019-04-13T01:56:00Z\",\n      \"lastUpdated\": \"2019-04-13T01:52:05Z\",\n      \"status\": \"ON_TIME\",\n      \"headsign\": \"Hoboken\",\n      \"route\": \"HOB_WTC\",\n      \"routeDisplayName\": \"World Trade Center - Hoboken\",\n      \"direction\": \"TO_NJ\"\n    },\n    {\n      \"lineColors\": [\n        \"#65C100\"\n      ],\n      \"projectedArrival\": \"2019-04-13T02:11:00Z\",\n      \"lastUpdated\": \"2019-04-13T01:52:05Z\",\n      \"status\": \"ON_TIME\",\n      \"headsign\": \"Hoboken\",\n      \"route\": \"HOB_WTC\",\n      \"routeDisplayName\": \"World Trade Center - Hoboken\",\n      \"direction\": \"TO_NJ\"\n    },\n    {\n      \"lineColors\": [\n        \"#D93A30\"\n      ],\n      \"projectedArrival\": \"2019-04-13T02:01:00Z\",\n      \"lastUpdated\": \"2019-04-13T01:52:05Z\",\n      \"status\": \"ON_TIME\",\n      \"headsign\": \"Newark\",\n      \"route\": \"NWK_WTC\",\n      \"routeDisplayName\": \"World Trade Center - Newark\",\n      \"direction\": \"TO_NJ\"\n    },\n    {\n      \"lineColors\": [\n        \"#D93A30\"\n      ],\n      \"projectedArrival\": \"2019-04-13T02:16:00Z\",\n      \"lastUpdated\": \"2019-04-13T01:52:05Z\",\n      \"status\": \"ON_TIME\",\n      \"headsign\": \"Newark\",\n      \"route\": \"NWK_WTC\",\n      \"routeDisplayName\": \"World Trade Center - Newark\",\n      \"direction\": \"TO_NJ\"\n    }\n  ]\n}\n```\n\n## List Routes\n\nHTTP: `https://path.api.razza.dev/v1/routes/`\n\n```\n{\n  \"routes\": [\n    {\n      \"route\": \"JSQ_33_HOB\",\n      \"id\": \"1024\",\n      \"name\": \"Journal Square - 33rd Street (via Hoboken)\",\n      \"color\": \"ff9900\",\n      \"lines\": [\n        {\n          \"displayName\": \"33rd Street (via Hoboken) - Journal Square\",\n          \"headsign\": \"Journal Square via Hoboken\",\n          \"direction\": \"TO_NJ\"\n        },\n        {\n          \"displayName\": \"Journal Square - 33rd Street (via Hoboken)\",\n          \"headsign\": \"33rd via Hoboken\",\n          \"direction\": \"TO_NY\"\n        }\n      ]\n    },\n    // ...\n  ]\n}\n```\n\n## Get Route\n\nHTTP: `https://path.api.razza.dev/v1/routes/NWK_WTC`\n\n```\n{\n  \"route\": \"NWK_WTC\",\n  \"id\": \"862\",\n  \"name\": \"Newark - World Trade Center\",\n  \"color\": \"d93a30\",\n  \"lines\": [\n    {\n      \"displayName\": \"World Trade Center - Newark\",\n      \"headsign\": \"Newark\",\n      \"direction\": \"TO_NJ\"\n    },\n    {\n      \"displayName\": \"Newark - World Trade Center\",\n      \"headsign\": \"World Trade Center\",\n      \"direction\": \"TO_NY\"\n    }\n  ]\n}\n```\n\n# Demo\n\nYou can query the API via your web browser by navigating to a valid endpoint. For example the [9th street station realtime data](https://path.api.razza.dev/v1/stations/ninth_street/realtime).\n\nA simple web app using the realtime arrival data can be found [here](https://jsfiddle.net/qkp7g8ze/embedded/result/).\n\n# Versioning\n\nNew 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](https://transitapp.com/) and [Citymapper](https://citymapper.com/nyc).\n\n# Other sources\n\nProject to convert this data into GTFS Realtime format: https://github.com/jamespfennell/path-train-gtfs-realtime\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrazza%2Fpath-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrazza%2Fpath-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrazza%2Fpath-data/lists"}