CityBikes Bike-Share Network & Station Scraper avatar

CityBikes Bike-Share Network & Station Scraper

Pricing

Pay per event

Go to Apify Store
CityBikes Bike-Share Network & Station Scraper

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.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

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

FieldTypeDefaultDescription
maxItemsinteger0 (unlimited)Maximum station records to return. Set to 0 for unlimited.
networksOnlybooleanfalseIf true, returns one record per network (no station fetch).
countrystring""ISO 3166-1 alpha-2 country code to filter networks (e.g. "US", "GB", "DE").
networkIdsarray[]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)

FieldTypeDescription
network_idstringUnique CityBikes network slug (e.g. "citi-bike-nyc")
network_namestringHuman-readable network name (e.g. "Citi Bike")
companystringOperator name(s), comma-separated if multiple
citystringCity where the network operates
countrystringISO 3166-1 alpha-2 country code
latitudenumberNetwork center latitude
longitudenumberNetwork center longitude
source_urlstringOperator homepage URL, if available
hrefstringCityBikes API path for this network
gbfs_urlstringGBFS feed URL, if the operator publishes one
ebikesbooleanWhether the network includes electric bikes
scootersbooleanWhether the network includes electric scooters

Station-level fields (station mode only)

FieldTypeDescription
station_idstringUnique station identifier within the network
station_namestringHuman-readable station name
station_latnumberStation latitude
station_lngnumberStation longitude
free_bikesnumberAvailable bikes at this station right now
empty_slotsnumberEmpty docking slots at this station
timestampstringISO 8601 timestamp of this availability snapshot
extra_payment_terminalbooleanWhether the station has a payment terminal
extra_ebikesnumberNumber of electric bikes available
extra_uidstringStation 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.