An open API service indexing awesome lists of open source software.

https://github.com/zackaryh8/tfl-api-wrapper

A Node JS wrapper for the Transport for London Unified API and TrackerNet
https://github.com/zackaryh8/tfl-api-wrapper

api-wrapper london tfl transport

Last synced: 12 months ago
JSON representation

A Node JS wrapper for the Transport for London Unified API and TrackerNet

Awesome Lists containing this project

README

          


TfL Logo

TfL API Wrapper


A NodeJS wrapper for the TfL Unified API, made with TypeScript.


Read the Documentation

![CI](https://img.shields.io/github/actions/workflow/status/zackaryh8/tfl-api-wrapper/main.yml?branch=master)
[![NPM Version](https://img.shields.io/npm/v/tfl-api-wrapper)](https://www.npmjs.com/package/tfl-api-wrapper)
[![Issues](https://img.shields.io/github/issues/ZackaryH8/tfl-api-wrapper)](https://github.com/ZackaryH8/tfl-api-wrapper/issues)
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/ZackaryH8/tfl-api-wrapper)

## Installation
```
npm install tfl-api-wrapper
yarn add tfl-api-wrapper
```

## Contribute

There are many ways to contribute to this repo.
* [Submit bugs](https://github.com/ZackaryH8/tfl-api-wrapper/issues) and help us verify fixes as they are checked in.
* Review the [source code changes](https://github.com/ZackaryH8/tfl-api-wrapper/pulls).

## Example Usage

### Async... await

```js
import { StopPoint } from 'tfl-api-wrapper';

const app_key = 'API KEY HERE'; // Use an environment file
const app_key_trackernet = 'API KEY HERE'; // Optional: Only required if using Trackernet, Use an environment file

const stopPoint = new StopPoint(app_key)
const trackerNet = new TrackerNet(_, app_key_trackernet)

const arrivals = await stopPoint.getStationArrivals('940GZZLUKSX');
const predicitionSummary = await trackerNet.getPredictionSummary(TrackerNetLines.Bakerloo)

console.log(arrivals);
console.log(predicitionSummary);
```

### Callback

```js
import { StopPoint } from 'tfl-api-wrapper';

const app_key = 'API KEY HERE'; // Use an environment file
const app_key_trackernet = 'API KEY HERE'; // Optional: Only required if using Trackernet, Use an environment file

const stopPoint = new StopPoint(app_key)
const trackerNet = new TrackerNet(_, app_key_trackernet)

stopPoint.getStationArrivals('940GZZLUKSX').then((arrivals) => {
console.log(arrivals);
});

const predicitionSummary = trackerNet.getPredictionSummary(TrackerNetLines.Bakerloo).then((summary) => {
console.log(summary);
});
```

## Disclaimer
This repository is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Transport for London (TfL) or its parent organisation Greater London Authority (GLA)