db-prices
JavaScript module for finding the cheapest railway connections using the Deutsche Bahn Sparpreise API.

Installation
npm install db-prices
Usage
prices() returns a Promise that will resolve with a list of offers.
const prices = require('db-prices')
prices(from, to, [date], [opt]).then(…)
from and to must be station IDs like 8000105.
date must be a Date object; if empty, the current datetime will be used.
With opt, you can override the default options, which look like this:
{
class: 2,
noICETrains: false,
transferTime: 0,
duration: 1440,
preferFastRoutes: true
travellers: [{
bc: 0,
typ: "E",
alter: 30
}],
}
Response
With from = 8000105, to = 8011160 and date = new Date('2016-08-17T00:00:00.000Z'), the result looked like this:
[{
id: '0',
transfers: 1,
nightTrain: false,
trips: [{
id: '0.0',
start: 2016 - 08 - 17 T03: 06: 00.000 Z,
from: {
station: 8000105,
name: 'Frankfurt(Main)Hbf',
platform: '7'
},
end: 2016 - 08 - 17 T04: 55: 00.000 Z,
to: {
station: 8000128,
name: 'Göttingen',
platform: '4'
},
line: 'ICE 988',
type: 'ICE'
}, {
id: '0.1',
start: 2016 - 08 - 17 T05: 04: 00.000 Z,
from: {
station: 8000128,
name: 'Göttingen',
platform: '4'
},
end: 2016 - 08 - 17 T07: 58: 00.000 Z,
to: {
station: 8011160,
name: 'Berlin Hbf',
platform: '12'
},
line: 'ICE 876',
type: 'ICE'
}],
offer: {
ref: '72660',
discount: true,
price: 117.9,
routes: [],
anyTrain: false
}
}, ]
Similar Projects
Contributing
If you found a bug, want to propose a feature or feel the urge to complain about your life, feel free to visit the issues page.
Cheers to Jannis R for contributing.