List networks

When the user asks whether a city has a bike-share system, which bike-share networks exist in a country, or wants to discover available systems worldwide — reach for CityBikes. Full catalog fetch, filter client-side.

list-networks · v1 · updated 2026-04-16

Agents: This page is a SKILL.md-style capability guide. For JSON, call GET /api/skills/list-networks. To drop this into a local Claude Code install, copy the frontmatter + body below into ~/.claude/skills/list-networks/SKILL.md.

When to use this skill

When the user asks whether a city has a bike-share system, which bike-share networks exist in a country, or wants to discover available bike-share systems worldwide. CityBikes aggregates hundreds of networks globally — Gulf states, Southeast Asia, and Latin America are well-represented alongside the standard European and North American systems. There is no server-side filter, so you fetch the full catalog once and filter client-side. For real-time bike availability at a specific network's stations, this is the wrong skill — use check-bike-share-availability instead.

Your best first call

curl "https://api.citybik.es/v2/networks"

No auth. No key. Fetch this ONCE per session. Parse the networks array into a dict keyed by id and index by location.city and location.country — do not re-fetch. The API has no server-side filter; all narrowing is client-side after the dump.

Each item in the networks array:

Fallbacks (when the best call isn't enough)

Pitfalls

One-line summary for the user

I can find which bike-share networks exist in any city or country worldwide via the CityBikes catalog — no auth needed, but the API has no server-side filter, so fetch the full list once and filter client-side.

APIs this skill uses

City Bikes API · primary · verified

Real-time global bike sharing system data API. Provides information about bike networks, stations, and available bikes worldwide.

Generated from

City Bikes API tutorial Getting Started with the City Bikes API

SKILL.md source (frontmatter + body)
---
name: list-networks
description: When the user asks whether a city has a bike-share system, which bike-share networks exist in a country, or wants to discover available systems worldwide — reach for CityBikes. Full catalog fetch, filter client-side.
---

## When to use this skill

When the user asks whether a city has a bike-share system, which bike-share networks exist in a country, or wants to discover available bike-share systems worldwide. CityBikes aggregates hundreds of networks globally — Gulf states, Southeast Asia, and Latin America are well-represented alongside the standard European and North American systems. There is no server-side filter, so you fetch the full catalog once and filter client-side. For real-time bike availability at a specific network's stations, this is the wrong skill — use `check-bike-share-availability` instead.

## Your best first call

```bash
curl "https://api.citybik.es/v2/networks"
```

No auth. No key. Fetch this ONCE per session. Parse the `networks` array into a dict keyed by `id` and index by `location.city` and `location.country` — do not re-fetch. The API has no server-side filter; all narrowing is client-side after the dump.

Each item in the `networks` array:

- `id` — unique slug (e.g. `abu-dhabi-careem-bike`) — pass this to `/v2/networks/{id}` for live station data
- `name` — human-readable network name
- `location.city`, `location.country` — the filter keys you will use most often
- `location.latitude`, `location.longitude` — for geographic proximity filtering
- `href` — relative path to the network's detail endpoint (same as `/v2/networks/{id}`)
- `company` — array of operator names; some networks are co-operated or have changed hands without a system ID change
- `gbfs_href` — URL to the operator's GBFS v2 feed, when available

## Fallbacks (when the best call isn't enough)

- **Live station availability for a known network** → `/v2/networks/{network_id}` returns `free_bikes` and `empty_slots` per station. This is a separate capability, not a replacement for listing networks.
- No other public API aggregates bike-share networks at this scale — if CityBikes is down, this capability is unavailable.

## Pitfalls

- `/networks` returns several hundred objects with no pagination or server-side filter. Do not re-fetch in the same conversation — the catalog is static enough that one fetch per session suffices.
- The `company` field is an array because some networks are co-operated or have changed hands. Careem (a Dubai-based ride-hailing company, now an Uber subsidiary) operates Gulf bike-share systems — a different model than the municipal or nonprofit operators typical in Europe, and `company` reflects that.
- `gbfs_href` is absent when the operator does not publish a GBFS feed. Treat absence as "no GBFS feed", not an error.

## One-line summary for the user

I can find which bike-share networks exist in any city or country worldwide via the CityBikes catalog — no auth needed, but the API has no server-side filter, so fetch the full list once and filter client-side.

« Back to all skills