ResRobot Nearby stops

What does this API provide?

ResRobot nearby stops provides information about stops, including their ids and position, by searching for a certain pair of coordinates.

Instead of using the station lookup endpoint, you can also use the stops.txt file from GTFS Sverige 2. This way you can provide autocomplete and other search functions without internet access. It will make your application more responsive and more reliable as you don’t have to wait for API responses. See Combining data and APIs for more information.
Be aware that the current position of for example a smartphone user is personal data. We do not save this data, but it might be stored for a short time in for example log files. You should probably inform your users and ask for permission before sending their position to 3rd parties.

Data format

The data is formatted as JSON or XML, depending on the format query parameter.

How often is this data updated?

The static data used for this API is updated when changes are made, at most once per day.

Which operators are covered by this dataset?

All operators which operate in Sweden are covered by the ResRobot APIs.

How often does the data format changes? Do breaking changes happen?

This API has the stable status. When breaking changes are made, we strive to have a 6 months transition period for users to update their implementations. Examples of breaking changes are the changes to existing fields or query parameters, or in case new query parameters are required to keep the results the same. The addition of new fields isn’t considered a breaking change, and can happen without warning.

Using ResRobot Nearby stops

ResRobot Nearby stops takes the search string and the wanted number of results as parameters, and returns a list of matching stations with their location, name and id. Users can choose between exact matching and approximate matching by adding a question mark to the end of the search string.

Only the most important parameters and response variables are described on this page. Looking for more technical details? These can be found in the OpenAPI specification.

Example calls

Call

https://api.resrobot.se/v2.1/location.nearbystops?originCoordLat=57.708895&originCoordLong=11.973479&format=json&accessId=API_KEY
https://api.resrobot.se/v2.1/location.nearbystops?originCoordLat=57.708895&originCoordLong=11.973479&format=xml&accessId=API_KEY

Request parameters

Changes compared to ResRobot v2.0:

  • The key parameter has been renamed to accessId.
NameTypeRequiredDescription
accessIdStringYesYour API key
originCoordLatStringYesLatitude (WGS84, decimal degree), eg 59.293611
originCoordLongStringYesLongitude (WGS84, decimal degree), eg 18.083056
maxNoIntegerNoThe maximum number of results to return, default 10, maximum 1000
rIntegerNoMaximum distance between given coordinates and the stop. Default 1000, max 10000
langStringNoLanguage (sv/en/de), default sv. Affects both data (names for different transport types) and error messages.
formatStringNoJson or Xml

Response

{
  "StopLocation": [
    {
      "id": "740098001",
      "extId": "740098001",
      "name": "GÖTEBORG",
      "lon": 11.973479,
      "lat": 57.708895,
      "weight": 22332,
      "products": 254
    }
  ]
}
<?xml version="1.0" encoding="UTF-8"?>
<LocationList xmlns="hafas_rest_v1">
    <StopLocation id="740098001" extId="740098001" name="GÖTEBORG" lon="11.973479" lat="57.708895" weight="22332" products="254"/>
</LocationList>
All-caps stations, like GÖTEBORG in the example above, are virtual stations. These are a group of stations, for example to group stops which are close to eachother or to group several stops serving the same area. This is especially useful for people who are not familiar with the environment. Instead of having to choose between several stops which they don’t know, they can simply search for trips to “Göteborg”.

Data fields

Changes compared to ResRobot v2.0:

  • The root object now contains an array of stopLocationOrCoordLocation instead of an array of stopLocation.
  • stopLocation can now be found in the items present in the stopLocationOrCoordLocation array.
  • The products field has been replaced with an array of Products. Instead of accessing the sum of all products through products, you can now obtain all the individual products through ProductAtStop[].cls
  • timezoneOffset has been added to each StopLocation.
NameData typeDescription
stopLocationOrCoordLocationstopLocationOrCoordLocation[]List with results
stopLocationOrCoordLocation.StopLocationStopLocationActual data is contained in the StopLocation property
StopLocationObjectObject containing a single stop
StopLocation.nameStringStop name
StopLocation.extIdStringStop id for use in other ResRobot APIs.
StopLocation.idStringInternal id. Do not use.
StopLocation.distIntegerDistance from the queried coordinates, in meters.
StopLocation.latStringLatitude (WGS84, decimal degree) for this stop, eg 59.293611
StopLocation.lonStringLongitude (WGS84, decimal degree) for this stop, eg 18.083056
StopLocation.productAtStopProduct[]See common data types. Only the cls field of each product will contain actual data.
StopLocation.weightIntegerShows how much traffic is handled at this stop, a stop with more traffic gets a higher weight. Between 0 and 32767.