OrbTop

CityBikes Bike-Share Network & Station Scraper

TRAVEL

Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.

CityBikes Bike-Share Network & Station Scraper

Scrapes the CityBikes API to deliver unified snapshots of 700+ global bike-share networks and their real-time station availability. Returns network metadata and per-station free-bike counts across Citi Bike, Divvy, and hundreds of other systems worldwide — no API key required.

What does this actor do?

The CityBikes API is the de-facto open aggregator for global bike-share data. This actor wraps it into a scheduled, structured data pipeline with two operating modes:

  • Station mode (default) — Returns one record per station with both network metadata and real-time availability (free bikes, empty slots, timestamp). Covers cities from NYC and Chicago to London, Berlin, and Tokyo.
  • Networks-only mode — Returns a fast directory summary of all 700+ networks (name, operator, city, country, coordinates) without per-station detail.

Both modes support filtering by country or specific network IDs so you can scope a run to exactly the market you care about.

Use cases

  • Urban mobility research — Snapshot bike availability patterns across multiple cities in a single run
  • Competitive intelligence — Track operator footprint and network coverage across regions
  • Transportation planning — Feed station-level availability data into routing or demand models
  • Scheduled monitoring — Use Apify's scheduler to capture hourly or daily snapshots of a network

Input configuration

Field Type Default Description
maxItems integer 0 (unlimited) Maximum station records to return. Set to 0 for unlimited.
networksOnly boolean false If true, returns one record per network (no station fetch).
country string "" ISO 3166-1 alpha-2 country code to filter networks (e.g. "US", "GB", "DE").
networkIds array [] Specific CityBikes network slugs to fetch (e.g. ["citi-bike-nyc", "divvy"]).

Example: All US bike-share stations (capped at 500)

{
  "country": "US",
  "maxItems": 500
}

Example: Specific networks directory

{
  "networksOnly": true,
  "country": "DE"
}

Example: Single network — Citi Bike NYC

{
  "networkIds": ["citi-bike-nyc"],
  "maxItems": 1000
}

Output schema

Each output record contains up to 21 fields. In station mode (default), all fields are populated. In networks-only mode, only the network-level fields are included.

Network-level fields (always present)

Field Type Description
network_id string Unique CityBikes network slug (e.g. "citi-bike-nyc")
network_name string Human-readable network name (e.g. "Citi Bike")
company string Operator name(s), comma-separated if multiple
city string City where the network operates
country string ISO 3166-1 alpha-2 country code
latitude number Network center latitude
longitude number Network center longitude
source_url string Operator homepage URL, if available
href string CityBikes API path for this network
gbfs_url string GBFS feed URL, if the operator publishes one
ebikes boolean Whether the network includes electric bikes
scooters boolean Whether the network includes electric scooters

Station-level fields (station mode only)

Field Type Description
station_id string Unique station identifier within the network
station_name string Human-readable station name
station_lat number Station latitude
station_lng number Station longitude
free_bikes number Available bikes at this station right now
empty_slots number Empty docking slots at this station
timestamp string ISO 8601 timestamp of this availability snapshot
extra_payment_terminal boolean Whether the station has a payment terminal
extra_ebikes number Number of electric bikes available
extra_uid string Station UID from the operator's feed, if available

Sample output

{
  "network_id": "citi-bike-nyc",
  "network_name": "Citi Bike",
  "company": "NYC Bike Share, LLC, Motivate International, Inc., PBSC Urban Solutions",
  "city": "New York, NY",
  "country": "US",
  "latitude": 40.7143528,
  "longitude": -74.00597309999999,
  "source_url": null,
  "href": "/v2/networks/citi-bike-nyc",
  "gbfs_url": null,
  "ebikes": false,
  "scooters": false,
  "station_id": "72",
  "station_name": "W 52 St & 11 Ave",
  "station_lat": 40.76727216,
  "station_lng": -74.00552427,
  "free_bikes": 10,
  "empty_slots": 28,
  "timestamp": "2026-05-30T13:41:09.185000Z",
  "extra_payment_terminal": null,
  "extra_ebikes": null,
  "extra_uid": "72"
}

Notes

  • No API key required. The CityBikes API is free and open.
  • Real-time data. Station availability reflects live conditions at the time of the run.
  • Rate limiting. The actor applies a courtesy 150ms delay between station requests and limits concurrent fetches to 8 — well within the API's tolerance.
  • Full coverage. With no filters and maxItems: 0, the actor will fetch all 700 networks and their stations (150,000 total records). A full run takes several minutes.

About CityBikes

CityBikes normalizes data from 700+ bike-share systems worldwide into a single consistent JSON API. It is the primary open-data source for global bike-share research. This actor surfaces that data through Apify's scheduling and export infrastructure so teams can run snapshots without standing up their own polling infrastructure.


Further reading: How to Get Airbnb Data, Hotel Prices, and Transit Feeds in Bulk