1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

シェアモビリティの標準的なデータフォーマット GBFSAdvent Calendar 2023

Day 15

GBFSデータ+MapLibre GL JSで世界のシェアモビリティステーションマップを作成する

Last updated at Posted at 2023-12-16

はじめに

公開されているGBFSデータMapLibre GL JSを用いて、世界のシェアモビリティステーションマップを作成してみました。

アウトプットイメージ

image.png
出典)本記事で使用したGBFSデータ1

2023年12月16日時点で取得できたGBFS由来のシェアモビリティステーション計92,418ステーションを表示しています。本記事では筆者が取得に成功したGBFSデータを根拠にステーションを表示しています。例えば、データ取得の失敗、ステーション情報の非存在、言語の問題、通信エラーやタイムアウト、公開されているデータが古い・誤っている等で実体を正確に反映しきれていない可能性があります。

データの取得

  • GBFSデータ(station_information.json)を取得するために、gbfs-clientをインストールします。
pip install gbfs-client

gbfs-clientでは、GBFSコミュニティによって管理されている、自転車シェアリングシステムのリスト(systems.csv)がサポートされているようです。systems.csvにはAuto-Discovery URLが記載されており、さらにAuto-Discovery URLにアクセスするとstation_information.jsonのURLが記載されています。

  • 下記の記事を参考にさせていただきながら、pythonでGBFSデータ(station_information.json)をCSV形式で取得します。

gbfs-station-info-dl.py
from gbfs.services import SystemDiscoveryService
import pandas as pd

ds = SystemDiscoveryService()

# システム一覧を取得
system_list = ds.systems

# ステーション一覧格納用の空DataFrameを用意
column = ["country_code", "system_name", "system_id", "station_id", "station_name", "lon", "lat"]
df = pd.DataFrame(columns=column)

# ログ情報格納用の空DataFrameを用意
log_columns = ["system_id", "status", "message", "System_Name", "Auto-Discovery URL"]
df_log = pd.DataFrame(columns=log_columns)

# システム一覧の中のシステム(サービス)を順番に処理
for system in system_list:
    # システム一覧より情報を取得
    country_code = system["Country Code"]
    system_name = system["Name"]
    system_id = system["System ID"]
    url = system["Auto-Discovery URL"]
    
    # systemID使って該当サービスのクライアントを生成
    try:
        # まずは英語のGBFSデータの取得をトライ
        client = ds.instantiate_client(system_id, "en")
    except BaseException as e:
        # 英語でのデータ公開がない場合、エラーメッセージをもとに第一言語を特定
        error_message = str(e)
        first_language = error_message.split(":")[1].split(",")[0].replace(" ", "")

        try:
            # 第一言語で再取得をトライ
            client = ds.instantiate_client(system_id, first_language)
        except:
            # それでも失敗した場合は本サービスのデータ取得は諦める
            print("言語情報の取得失敗," + system_id)
            new_log = pd.DataFrame([{"system_id": system_id, "status": "Failed", "message": "Language detection failed", "System_Name": system_name, "Auto-Discovery URL": url}])
            df_log = pd.concat([df_log, new_log], ignore_index=True)
            continue

    # 生成したクライアントの中にステーション情報が存在するか確認
    if "station_information" in client.feed_names:
        # ステーション情報が存在したとき、ステーション情報の取得を試みる
        try:
            # 取得に成功したときステーション情報を配列に格納
            stations = [
                [
                    country_code,
                    system_name,
                    system_id,
                    station["station_id"],
                    station["name"],
                    station["lon"],
                    station["lat"],
                ]
                for station in client.request_feed("station_information").get("data").get("stations")
            ]
            # ステーション情報の配列をDataFrameに追加
            df = pd.concat([df, pd.DataFrame(stations, columns=column)], ignore_index=True)
            print("ステーション取得成功!," + system_id)
            new_log = pd.DataFrame([{"system_id": system_id, "status": "Success", "message": "Stations retrieved", "System_Name": system_name, "Auto-Discovery URL": url}])
            df_log = pd.concat([df_log, new_log], ignore_index=True)
        except:
            # 取得に失敗したとき、本サービスのデータ取得は諦める
            print("ステーション情報取得失敗," + system_id)
            new_log = pd.DataFrame([{"system_id": system_id, "status": "Failed", "message": "Station information retrieval failed", "System_Name": system_name, "Auto-Discovery URL": url}])
            df_log = pd.concat([df_log, new_log], ignore_index=True)
            continue
    else:
        # ステーション情報が存在しないとき、ステーション情報が無いサービス(恐らくドッグレス型サービス)なのでデータ取得処理は行わない
        print("ステーション情報なし, " + system_id)
        new_log = pd.DataFrame([{"system_id": system_id, "status": "No Data", "message": "No station information available", "System_Name": system_name, "Auto-Discovery URL": url}])
        df_log = pd.concat([df_log, new_log], ignore_index=True)

# DataFrameをCSVファイルとして出力
df.to_csv("stations.csv", index=False)
df_log.to_csv("stations_log.csv", index=False)

CSVからGeoJSON⇒PMTilesへの変換

PMTilesとは、特別なサーバ実装を必要とせず、大きな位置情報データの一部分を配信することを可能とするファイル形式(Cloud Optimized形式)です。GIS界隈ではCloud Optimizedが重要なキーワードになっています。

  • feltのtippecanoeやWSL2(Ubuntu-20.04)のインストール方法は、下記の記事を参照してください。

  • WSL2(Ubuntu-20.04)で下記のコマンドを実行してPMTilesを生成します。
tippecanoe -o stations.pmtiles stations.geojson -r1 -pf -pk -P
  • tippecanoeのオプション
    -r1:低ズームレベル時にポイントを間引かない(代わりにクラスタ化する)
    -pf:地物数制限を無視する(1タイルあたり200,000フィーチャに制限しない)
    -pk:ファイルサイズ制限を無視する(1タイルあたり500Kバイトに制限しない)
    -P:並列読み込み
    ただし、下記の記事によると、-Pオプションが有効なのは、GeoJSONSeqのみのようです。

-z, -Z:ズームレベル指定

  • ズームレベルを指定する場合は下記のとおりになります。
  • -Z10 -z18とすると、ズームレベル10-18の範囲でタイルを生成します。
  • 指定しない場合は自動的に設定されます(ズームレベル0-14)。
  • 大文字のZが最小ズームレベル、小文字のzが最大ズームレベルを示すことに注意が必要です。
tippecanoe -o stations.pmtiles -Z10 -z18 stations.geojson -r1 -pf -pk -P
  • 下記でズームレベルごとの地理分解能の概数がわかります。
  • ズームレベル14で0.5m相当となり、これは一般的なWeb地図では十分な分解能と言えます。
  • お好みでより高い精度を求めることは可能ですが、タイル数とのトレードオフになります。

PMTilesをMapLibre GL JSで表示する

  • 上記の方法で生成したPMTilesとMapLibre GL JSでシェアモビリティステーションマップを作成します。
  • ソースコードは下記のGitHubにて公開しています。

コードの解説

PMTilesの読み込み

  • HTMLのヘッドに、<script src="https://unpkg.com/pmtiles@2.10.0/dist/index.js"></script>を記述します。
html
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>World Share Mobility Station Map(2023-12)</title>
    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
    <script src='https://unpkg.com/maplibre-gl@3.6.2/dist/maplibre-gl.js'></script>
    <link href='https://unpkg.com/maplibre-gl@3.6.2/dist/maplibre-gl.css' rel='stylesheet' />
    <script src="https://unpkg.com/pmtiles@2.10.0/dist/index.js"></script>
  • addProtocolの設定を行い、PMTilesのURLを記述します。
javascript
        // addProtocolの設定
        let protocol = new pmtiles.Protocol();
        maplibregl.addProtocol("pmtiles", protocol.tile);

        // (中略)

        map.on('load', () => {

            // (中略)

            // GBFS-stationsソース
            map.addSource("pmtiles-stations", {
                type: "vector",
                url: "pmtiles://" + "PMTilesのURLを入力してください",
                attribution: '<a href="https://github.com/MobilityData/gbfs/blob/master/systems.csv">MobilityData</a>'
            });

レイヤの表示(ポイント)

  • map.addLayerでシェアサイクルのポイントデータをレイヤとして表示します。
  • グロー(発光)エフェクトを適用するために、ポイントデータのレイヤーを3つ重ねています。

「グロー(発光)エフェクト」とは、John M. Nelson氏が開発したカートグラフィー(地図製作)の手法のひとつで、マッピングしたデータを発光しているかのように表現するテクニックです。(引用元:Mapbox Japanの公式note)

javascript
            // stationsポイントレイヤ
            map.addLayer({
                id: 'stations-points-1',
                type: 'circle',
                source: 'pmtiles-stations',
                "source-layer": 'stations',
                minzoom: 0,
                maxzoom: 23,
                paint: {
                    'circle-color': '#6ff77c',
                    'circle-radius': 15,
                    'circle-blur': 3,
                    'circle-opacity': 0.8
                }
            });

            // stationsポイントレイヤ
            map.addLayer({
                id: 'stations-points-2',
                type: 'circle',
                source: 'pmtiles-stations',
                "source-layer": 'stations',
                minzoom: 0,
                maxzoom: 23,
                paint: {
                    'circle-color': '#00ff37',
                    'circle-radius': 7.5,
                    'circle-blur': 3,
                    'circle-opacity': 0.8
                }
            });

            // stationsポイントレイヤ
            map.addLayer({
                id: 'stations-points-3',
                type: 'circle',
                source: 'pmtiles-stations',
                "source-layer": 'stations',
                minzoom: 0,
                maxzoom: 23,
                paint: {
                    'circle-color': '#ffffff',
                    'circle-radius': 1.5,
                    'circle-blur': 0,
                    'circle-opacity': 1
                }
            });

東京

image.png

スイス

image.png

オランダ・ベルギー・ドイツ(一部)

image.png

出典)本記事で使用したGBFSデータ1

おわりに

GBFSデータ+MapLibre GL JSでシェアモビリティステーションマップを作成する方法についてご紹介しました。GBFSはオープンデータライセンスを推奨する規格ですが、データ自体のライセンスはおそらく事業者に委ねられていると思いますので、今回、作成したデータの公開は控えようと思います。皆さんも取り扱う際には気を付けましょう。最後に、GBFSデータ+MapLibre GL JSを用いたWebマップについては、下記でも記事を書いていますので、あわせてご覧ください。

  1. 本記事で使用したGBFSデータは下記の通りとなります。
    Careem BIKE https://dubai.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bike Nordelta https://nordelta.publicbikesystem.net/ube/gbfs/v1/
    Ecobici https://buenosaires.publicbikesystem.net/ube/gbfs/v1/
    city bike Linz https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_al/gbfs.json
    nextbike Burgenland Austria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_na/gbfs.json
    nextbike Klagenfurt Austria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ka/gbfs.json
    nextbike Niederösterreich Austria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_la/gbfs.json
    Stadtrad Innsbruck Austria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_si/gbfs.json
    VVT REGIORAD Tirol https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_vt/gbfs.json
    WienMobil Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wr/gbfs.json
    Neuron Mobility https://mds-global-dud.neuron-mobility.com/gbfs/2/
    Greenbike Aruba https://aruba.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    BL bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bj/gbfs.json
    nextbike BIH https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ba/gbfs.json
    Zenica https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bz/gbfs.json
    Bird Antwerp https://mds.bird.co/gbfs/v2/public/antwerp/gbfs.json
    Blue-bike https://api.delijn.be/gbfs/gbfs.json
    Bolt OÜ https://mds.bolt.eu/gbfs/2/336/gbfs
    Donkey Republic Antwerp https://stables.donkey.bike/api/public/gbfs/2/donkey_antwerp/gbfs.json
    Donkey Republic Ghent https://stables.donkey.bike/api/public/gbfs/2/donkey_gh/gbfs.json
    Donkey Republic Kortrijk & Leiedal https://stables.donkey.bike/api/public/gbfs/2/donkey_kortrijk_leiedal/gbfs
    Hoppy https://eu-mobility.joyride.tech/api/v1/gbfs/a640fd4b-5a16-48c6-9aa2-d72674caf5f8/3e98a50a40a54d4884c6aa01d8c18510/gbfs.json
    Hoppy https://eu-mobility.joyride.tech/api/v1/gbfs/a640fd4b-5a16-48c6-9aa2-d72674caf5f8/2a29c4c627e14399a19436855d25ceb9/gbfs.json
    Hoppy https://eu-mobility.joyride.tech/api/v1/gbfs/a640fd4b-5a16-48c6-9aa2-d72674caf5f8/57cb68a183234d0189474e7122944d81/gbfs.json
    Lime Antwerp https://data.lime.bike/api/partners/v2/gbfs/antwerp/gbfs.json
    Lime Brussels https://data.lime.bike/api/partners/v2/gbfs/brussels/gbfs.json
    Pony Brussels https://gbfs.getapony.com/v1/brussels/en/gbfs.json
    Pony Charleroi https://gbfs.getapony.com/v1/charleroi/en/gbfs.json
    Pony Liège https://gbfs.getapony.com/v1/liege/en/gbfs.json
    Pony Namur https://gbfs.getapony.com/v1/namur/en/gbfs.json
    Velo Antwerpen https://gbfs.smartbike.com/antwerp/1.0/gbfs.json
    Voi Marseille https://api.voiapp.io/gbfs/fr/6bb6b5dc-1cda-4da7-9216-d3023a0bc54a/gbfs.json
    nextbike Bulgaria https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bg/gbfs.json
    Bike Itaú - Pernambuco https://rec.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bike Itaú - Poa https://poa.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bike Itaú - Rio https://riodejaneiro.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bike Itaú - Riviera https://riviera.publicbikesystem.net/ube/gbfs/v1/
    Bike Itaú - Salvador https://salvador.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bike Itaú - Sampa https://saopaulo.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Accès Vélo https://saguenay.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    àVélo https://quebec.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bike Share Toronto https://tor.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bird Calgary https://mds.bird.co/gbfs/v2/public/calgary/gbfs.json
    Bird Edmonton https://mds.bird.co/gbfs/v2/public/edmonton/gbfs.json
    Bird Ottawa https://mds.bird.co/gbfs/v2/public/ottawa/gbfs.json
    BIXI Montréal https://gbfs.velobixi.com/gbfs/gbfs.json
    Lime Calgary https://data.lime.bike/api/partners/v2/gbfs/calgary/gbfs.json
    Lime Edmonton https://data.lime.bike/api/partners/v2/gbfs/edmonton/gbfs.json
    Lime Kelowna https://data.lime.bike/api/partners/v2/gbfs/kelowna/gbfs.json
    Lime Ottawa https://data.lime.bike/api/partners/v2/gbfs/ottawa/gbfs.json
    Mobi Bike Share https://vancouver-gbfs.smoove.pro/gbfs/2/gbfs.json
    Sobi Hamilton https://hamilton.socialbicycles.com/opendata/gbfs.json
    Spin Edmonton https://gbfs.spin.pm/api/gbfs/v2_3/edmonton/gbfs
    Spin Kelowna https://gbfs.spin.pm/api/gbfs/v2_3/kelowna/gbfs.json
    Bird Basel https://mds.bird.co/gbfs/v2/public/basel/gbfs.json
    Bird Biel https://mds.bird.co/gbfs/v2/public/biel/gbfs.json
    Bird Bulle https://mds.bird.co/gbfs/v2/public/bulle/gbfs.json
    Bird Uster https://mds.bird.co/gbfs/v2/public/uster/gbfs.json
    Bird Winterthur https://mds.bird.co/gbfs/v2/public/winterthur/gbfs.json
    Bird Zurich https://mds.bird.co/gbfs/v2/public/zurich/gbfs.json
    Donkey Republic Geneva https://stables.donkey.bike/api/public/gbfs/2/donkey_ge/gbfs
    Donkey Republic Kreuzlingen https://stables.donkey.bike/api/public/gbfs/2/donkey_kreuzlingen/gbfs.json
    Donkey Republic Le Locle https://stables.donkey.bike/api/public/gbfs/2/donkey_le_locle/gbfs
    Donkey Republic Neuchâtel https://stables.donkey.bike/api/public/gbfs/2/donkey_neuchatel/gbfs.json
    Donkey Republic Sion https://stables.donkey.bike/api/public/gbfs/2/donkey_sion/gbfs.json
    Donkey Republic Thun https://stables.donkey.bike/api/public/gbfs/2/donkey_thun/gbfs.json
    Donkey Republic Yverdon-les-Bains https://stables.donkey.bike/api/public/gbfs/2/donkey_yverdon-les-bains/gbfs.json
    Lime Opfikon https://data.lime.bike/api/partners/v2/gbfs/opfikon/gbfs.json
    Lime Zug https://data.lime.bike/api/partners/v2/gbfs/zug/gbfs.json
    nextbike Switzerland https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ch/gbfs.json
    PubliBike https://api.publibike.ch/v1/gbfs/v2/gbfs.json
    Share Birrer https://www.share-birrer.ch/gbfs/gbfs.json
    sharedmobility.ch https://www.sharedmobility.ch/gbfs.json
    Bike Itaú - Santiago https://santiagodc.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bogotá https://bogota.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    nextbike Cyprus https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cy/gbfs.json
    Velespeed https://nicosia.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    nextbike Benešov https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_co/gbfs.json
    nextbike Berounsko https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_td/gbfs.json
    nextbike Brno https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_te/gbfs.json
    nextbike Česká Třebová https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nc/gbfs.json
    nextbike Dvůr Králové https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tf/gbfs.json
    nextbike Frýdek-Místek https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ts/gbfs.json
    nextbike Havířov https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_th/gbfs.json
    nextbike Hořice https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uf/gbfs.json
    nextbike Hradec Králové https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tl/gbfs.json
    nextbike Jablonec https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ud/gbfs.json
    nextbike Jihlava https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tz/gbfs.json
    nextbike Kladno https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tk/gbfs.json
    nextbike Klášterec nad Ohří https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ko/gbfs.json
    nextbike Krnov https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tw/gbfs.json
    nextbike Liberec https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_xa/gbfs.json
    nextbike Mladoboleslavsko https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tq/gbfs.json
    nextbike Moravská Třebová https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_xc/gbfs.json
    nextbike Olomouc https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ti/gbfs.json
    nextbike Opava https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tj/gbfs.json
    nextbike Ostrava https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_to/gbfs.json
    nextbike Pardubice https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tm/gbfs.json
    nextbike Pelhřimov https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cq/gbfs.json
    nextbike Písek https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ty/gbfs.json
    nextbike Praha https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tg/gbfs.json
    nextbike Přerov https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nr/gbfs.json
    nextbike Prostejov https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cz/gbfs.json
    nextbike Rychnovsko https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tx/gbfs.json
    nextbike Třebíč https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tu/gbfs.json
    nextbike Uherské Hradiště https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tt/gbfs.json
    nextbike Vrchlabí https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_vr/gbfs.json
    nextbike Zlín https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tv/gbfs.json
    AB mit Lara https://abmitlara.de/wp-json/commonsbooking/v1/gbfs.json
    BARshare Barnim All https://opendata.bbnavi.de/barshare/all/gbfs.json
    BARshare Barnim Bikes https://opendata.bbnavi.de/barshare/bicycle/gbfs.json
    BARshare Barnim Cargo Bikes https://opendata.bbnavi.de/barshare/other/gbfs.json
    BARshare Barnim Cars https://opendata.bbnavi.de/barshare/car/gbfs.json
    Bergisches e-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ac/gbfs.json
    Bird Ulm https://mds.bird.co/gbfs/v2/public/ulm/gbfs.json
    Bonn nextbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bf/gbfs.json
    Donkey Republic Bamberg https://stables.donkey.bike/api/public/gbfs/2/donkey_bamberg/gbfs.json
    Donkey Republic Berlin https://stables.donkey.bike/api/public/gbfs/2/donkey_berlin/gbfs.json
    Donkey Republic Freiburg https://stables.donkey.bike/api/public/gbfs/2/donkey_freiburg/gbfs.json
    Donkey Republic Kiel https://stables.donkey.bike/api/public/gbfs/2/donkey_kiel/gbfs.json
    Donkey Republic Munich https://stables.donkey.bike/api/public/gbfs/2/donkey_munich/gbfs.json
    Donkey Republic Regensburg https://stables.donkey.bike/api/public/gbfs/2/donkey_regensburg/gbfs.json
    EDEKA Grünheide https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ed/gbfs.json
    Eifel e-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_eb/gbfs.json
    EinfachMobil https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_eh/gbfs.json
    fLotte Brandenburg https://opendata.bbnavi.de/flotte/flotte-brandenburg/gbfs.json
    Frelo Freiburg https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_df/gbfs.json
    Graben - ready4green https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_da/gbfs.json
    Heraeus Hanau https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_hg/gbfs.json
    KVB Rad Germany https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_kg/gbfs.json
    KVV.nextbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_fg/gbfs.json
    Landkreis Nordsachsen - Deutschland https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_lc/gbfs.json
    Lastenvelo Freiburg https://www.mobidata-bw.de/data/LastenveloFR/gbfs.json
    Leipzzzig Sandkasten https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sk/gbfs.json
    Lime Frankfurt https://data.lime.bike/api/partners/v2/gbfs/frankfurt/gbfs.json
    Lime Hamburg https://data.lime.bike/api/partners/v2/gbfs/hamburg/gbfs.json
    Lime Oberhausen https://data.lime.bike/api/partners/v2/gbfs/oberhausen/gbfs.json
    Lime Reutlingen https://data.lime.bike/api/partners/v2/gbfs/reutlingen/gbfs.json
    Lime Solingen https://data.lime.bike/api/partners/v2/gbfs/solingen/gbfs.json
    meinRad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_mz/gbfs.json
    meinSiggi https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dg/gbfs.json
    metropolradruhr Germany https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_mr/gbfs.json
    MOBIbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dx/gbfs.json
    mobic https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_re/gbfs.json
    MV-Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_um/gbfs.json
    NEW MöBus nextbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sn/gbfs.json
    nextbike Berlin https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bn/gbfs.json
    nextbike Düsseldorf https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dd/gbfs.json
    nextbike Erlangen https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_er/gbfs.json
    nextbike Frankfurt https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ff/gbfs.json
    nextbike Gießen https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ng/gbfs.json
    nextbike Gütersloh https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dj/gbfs.json
    nextbike Kassel https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dk/gbfs.json
    nextbike Leipzig https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_le/gbfs.json
    nextbike Lippstadt https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_li/gbfs.json
    nextbike Marburg https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nm/gbfs.json
    nextbike Norderstedt https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nn/gbfs.json
    nextbike Rüsselsheim am Main https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_do/gbfs.json
    nextbike Wiesbaden https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wn/gbfs.json
    Nibelungen-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dn/gbfs.json
    OLi-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wo/gbfs.json
    Potsdam Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dc/gbfs.json
    Roxy Freiburg https://roxy.rideatom.com/gbfs/v2_2/en/gbfs?id=1227
    RSVG-Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_rb/gbfs.json
    RVK https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dr/gbfs.json
    SAP Walldorf https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ds/gbfs.json
    sprintRAD https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dh/gbfs.json
    stadtmobil carsharing Stuttgart https://www.mobidata-bw.de/data/stadtmobil-S/gbfs.json
    StadtRad Greifswald https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ug/gbfs.json
    SWA Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ag/gbfs.json
    Tecklenburger Land https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_lt/gbfs.json
    UsedomRad Germany https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ur/gbfs.json
    VAG_Rad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dv/gbfs.json
    Velocity Aachen https://nitro.openvelo.org/aachen/velocity/v2/gbfs.json
    VRNnextbike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_vn/gbfs.json
    westBike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_gh/gbfs.json
    WinsenRad https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wd/gbfs.json
    WK-Bike (Bremen) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_wk/gbfs.json
    wupsiRad Leverkusen https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_dw/gbfs.json
    Yoio Freiburg https://yoio.rideatom.com/gbfs/v2_2/en/gbfs?id=71
    Donkey Republic Aalborg https://stables.donkey.bike/api/public/gbfs/2/donkey_aalborg/gbfs.json
    Donkey Republic Aarhus https://stables.donkey.bike/api/public/gbfs/2/donkey_aarhus/gbfs.json
    Donkey Republic Ballerup https://stables.donkey.bike/api/public/gbfs/2/donkey_ballerup/gbfs.json
    Donkey Republic Bandholm https://stables.donkey.bike/api/public/gbfs/2/donkey_bandholm/gbfs.json
    Donkey Republic Copenhagen https://stables.donkey.bike/api/public/gbfs/2/donkey_copenhagen/gbfs.json
    Donkey Republic Frederikshavn https://stables.donkey.bike/api/public/gbfs/2/donkey_frederikshavn/gbfs.json
    Donkey Republic Glostrup https://stables.donkey.bike/api/public/gbfs/2/donkey_glostrup/gbfs.json
    Donkey Republic Herning https://stables.donkey.bike/api/public/gbfs/2/donkey_herning/gbfs.json
    Donkey Republic Hillerød https://stables.donkey.bike/api/public/gbfs/2/donkey_hillerod/gbfs
    Donkey Republic Klampenborg https://stables.donkey.bike/api/public/gbfs/2/donkey_klampenborg/gbfs.json
    Donkey Republic Lalandia (Rødby) https://stables.donkey.bike/api/public/gbfs/2/donkey_lalandia/gbfs.json
    Donkey Republic Middelfart https://stables.donkey.bike/api/public/gbfs/2/donkey_middelfart/gbfs.json
    Donkey Republic Odense https://stables.donkey.bike/api/public/gbfs/2/donkey_odense/gbfs.json
    Donkey Republic Rødvig https://stables.donkey.bike/api/public/gbfs/2/donkey_roedvig/gbfs.json
    Donkey Republic Store Heddinge https://stables.donkey.bike/api/public/gbfs/2/donkey_store_heddinge/gbfs.json
    Ambici https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bs/gbfs.json
    Bicicoruña https://acoruna.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    bicimad https://madrid.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    BiciMAD (unofficial) https://gbfs.bici.madrid/gbfs.json
    BiciMislata Mislata https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ad/gbfs.json
    Bike Barcelona https://barcelona.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    BiciPalma https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ea/gbfs.json
    Bilbaobizi (Bilbao) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bo/gbfs.json
    Bird Madrid https://mds.bird.co/gbfs/v2/public/madrid/gbfs.json
    Bird Zaragoza https://mds.bird.co/gbfs/v2/public/zaragoza/gbfs.json
    Dbizi https://sansebastian.publicbikesystem.net/ube/gbfs/v1/
    Getxobizi https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ex/gbfs.json
    ibizi https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ei/gbfs.json
    Lovesharing (Canary Islands) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ls/gbfs.json
    nextbike León https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sl/gbfs.json
    Sitycleta (Las Palmas) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_el/gbfs.json
    Valladolid https://valladolid.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Donkey Republic Hämeenlinna https://stables.donkey.bike/api/public/gbfs/2/donkey_haemeenlinna/gbfs.json
    Donkey Republic Hamina https://stables.donkey.bike/api/public/gbfs/2/donkey_hamina/gbfs.json
    Donkey Republic Hyvinkää https://stables.donkey.bike/api/public/gbfs/2/donkey_hyvinkaa/gbfs
    Donkey Republic Iisalmi https://stables.donkey.bike/api/public/gbfs/2/donkey_iisalmi/gbfs.json
    Donkey Republic Imatra https://stables.donkey.bike/api/public/gbfs/2/donkey_imatra/gbfs.json
    Donkey Republic Kotka https://stables.donkey.bike/api/public/gbfs/2/donkey_kotka/gbfs.json
    Donkey Republic Kouvola https://stables.donkey.bike/api/public/gbfs/2/donkey_kouvola/gbfs.json
    Donkey Republic Lappeenranta https://stables.donkey.bike/api/public/gbfs/2/donkey_lappeenranta/gbfs.json
    Donkey Republic Mäntsälä https://stables.donkey.bike/api/public/gbfs/2/donkey_maentsaelae/gbfs.json
    Donkey Republic Mikkeli https://stables.donkey.bike/api/public/gbfs/2/donkey_mikkeli/gbfs
    Donkey Republic Porvoo https://stables.donkey.bike/api/public/gbfs/2/donkey_porvoo/gbfs.json
    Donkey Republic Raasepori https://stables.donkey.bike/api/public/gbfs/2/donkey_raasepori/gbfs
    Donkey Republic Riihimäki https://stables.donkey.bike/api/public/gbfs/2/donkey_riihimaki/gbfs
    Donkey Republic Turku https://stables.donkey.bike/api/public/gbfs/2/donkey_turku/gbfs.json
    Joe Rauma https://joe.rideatom.com/gbfs/v2_2/en/gbfs?id=475
    Oulu Poland https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_fo/gbfs.json
    Bicloo https://transport.data.gouv.fr/gbfs/nantes/gbfs.json
    Bird Bordeaux https://mds.bird.co/gbfs/v2/public/bordeaux/gbfs.json
    Bird Castres https://mds.bird.co/gbfs/v2/public/castres/gbfs.json
    Bird Chalonsenchampagne https://mds.bird.co/gbfs/v2/public/chalonsenchampagne/gbfs.json
    Bird Dieppe https://mds.bird.co/gbfs/v2/public/dieppe/gbfs.json
    Bird Draguignan https://mds.bird.co/gbfs/v2/public/draguignan/gbfs.json
    Bird Epron https://mds.bird.co/gbfs/v2/public/epron/gbfs.json
    Bird Herouvillesaintclair https://mds.bird.co/gbfs/v2/public/herouvillesaintclair/gbfs.json
    Bird Larochesuryon https://mds.bird.co/gbfs/v2/public/larochesuryon/gbfs.json
    Bird Laval https://mds.bird.co/gbfs/v2/public/laval/gbfs.json
    Bird Marseille https://mds.bird.co/gbfs/v2/public/marseille/gbfs.json
    Bird Millau https://mds.bird.co/gbfs/v2/public/millau/gbfs.json
    Bird Montlucon https://mds.bird.co/gbfs/v2/public/montlucon/gbfs.json
    Bird Ouistreham https://mds.bird.co/gbfs/v2/public/ouistreham/gbfs.json
    Bird Sarreguemines https://mds.bird.co/gbfs/v2/public/sarreguemines/gbfs.json
    Bird Vichy https://mds.bird.co/gbfs/v2/public/vichy/gbfs.json
    CristoLib https://transport.data.gouv.fr/gbfs/creteil/gbfs.json
    C-Vélo https://clermontferrand.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Donkey Republic Brest https://stables.donkey.bike/api/public/gbfs/2/donkey_brest/gbfs.json
    Donkey Republic Valenciennes https://stables.donkey.bike/api/public/gbfs/2/donkey_valenciennes/gbfs.json
    LE vélo STAR https://eu.ftp.opendatasoft.com/star/gbfs/gbfs.json
    Libélo https://valence.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Lime Marseille https://data.lime.bike/api/partners/v2/gbfs/marseille/gbfs.json
    Lime Paris https://data.lime.bike/api/partners/v2/gbfs/paris/gbfs.json
    Optymo Belfort https://belfort-gbfs.klervi.net/gbfs/gbfs.json
    Pony Angers https://gbfs.getapony.com/v1/angers/en/gbfs.json
    Pony Basque Country https://gbfs.getapony.com/v1/basque_country/en/gbfs.json
    Pony Beauvais https://gbfs.getapony.com/v1/beauvais/en/gbfs.json
    Pony Beziers https://gbfs.getapony.com/v1/beziers/en/gbfs.json
    Pony Bourges https://gbfs.getapony.com/v1/bourges/en/gbfs.json
    Pony Bordeaux https://gbfs.getapony.com/v1/bordeaux/en/gbfs.json
    Pony Evry https://gbfs.getapony.com/v1/evry/en/gbfs.json
    Pony Grenoble https://gbfs.getapony.com/v1/grenoble/en/gbfs.json
    Pony Herouville https://gbfs.getapony.com/v1/herouville/en/gbfs.json
    Pony La Roche-sur-Yon https://gbfs.getapony.com/v1/la_roche_sur_yon/en/gbfs.json
    Pony Limoges https://gbfs.getapony.com/v1/limoges/en/gbfs.json
    Pony Lorient https://gbfs.getapony.com/v1/lorient/en/gbfs.json
    Pony Olivet https://gbfs.getapony.com/v1/olivet/en/gbfs.json
    Pony Paris https://gbfs.getapony.com/v1/paris/en/gbfs.json
    Pony Perpignan https://gbfs.getapony.com/v1/perpignan/en/gbfs.json
    Pony Poitiers https://gbfs.getapony.com/v1/poitiers/en/gbfs.json
    Pony Project Hectar https://gbfs.getapony.com/v1/project_hectar/en/gbfs.json
    VCub Bordeaux https://transport.data.gouv.fr/gbfs/vcub/gbfs.json
    Vélam https://transport.data.gouv.fr/gbfs/amiens/gbfs.json
    Vélivert https://saint-etienne-gbfs.klervi.net/gbfs/gbfs.json
    VélO2 https://transport.data.gouv.fr/gbfs/cergy-pontoise/gbfs.json
    Vélocéo https://vannes-gbfs.klervi.net/gbfs/gbfs.json
    VéloCité https://transport.data.gouv.fr/gbfs/besancon/gbfs.json
    VéloCité https://transport.data.gouv.fr/gbfs/mulhouse/gbfs.json
    Vélomagg' https://montpellier-fr-smoove.klervi.net/gbfs/gbfs.json
    Vélopop https://avignon-gbfs.klervi.net/gbfs/gbfs.json
    VélOstan'lib https://transport.data.gouv.fr/gbfs/nancy/gbfs.json
    VélÔToulouse https://transport.data.gouv.fr/gbfs/toulouse/gbfs.json
    Vélo'v https://transport.data.gouv.fr/gbfs/lyon/gbfs.json
    Vélivert (Saint-Étienne) https://api.saint-etienne-metropole.fr/velivert/api/gbfs/gbfs.json
    VélYcéo https://api.gbfs.v1.ecovelo.mobi/gbfs/velyceo
    V'lille https://transport.data.gouv.fr/gbfs/vlille/gbfs.json
    BelfastBikes https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bu/gbfs.json
    Beryl - BCP https://gbfs.beryl.cc/v2_2/BCP/gbfs.json
    Beryl - Brighton https://gbfs.beryl.cc/v2_2/Brighton/gbfs.json
    Beryl - Cornwall https://gbfs.beryl.cc/v2_2/Cornwall/gbfs.json
    Beryl - Greater Manchester https://gbfs.beryl.cc/v2_2/Greater_Manchester/gbfs.json
    Beryl - Hackney Cargo Bike https://gbfs.beryl.cc/v2_2/Hackney_Cargo_Bike/gbfs.json
    Beryl - Hereford https://gbfs.beryl.cc/v2_2/Hereford/gbfs.json
    Beryl - Hertsmere https://gbfs.beryl.cc/v2_2/Hertsmere/gbfs.json
    Beryl - Isle of Wight https://gbfs.beryl.cc/v2_2/Isle_of_Wight/gbfs.json
    Beryl - Leeds https://gbfs.beryl.cc/v2_2/Leeds/gbfs.json
    Beryl - London https://gbfs.beryl.cc/v2_2/London/gbfs.json
    Beryl - Norwich https://gbfs.beryl.cc/v2_2/Norwich/gbfs.json
    Beryl - Plymouth https://gbfs.beryl.cc/v2_2/Plymouth/gbfs.json
    Beryl - Portsmouth https://gbfs.beryl.cc/v2_2/Portsmouth/gbfs.json
    Beryl - Southampton https://gbfs.beryl.cc/v2_2/Southampton/gbfs.json
    Beryl - Watford https://gbfs.beryl.cc/v2_2/Watford/gbfs.json
    Beryl - West Midlands https://gbfs.beryl.cc/v2_2/West_Midlands/gbfs.json
    Beryl - Westminster Cargo Bike https://gbfs.beryl.cc/v2_2/Westminster_Cargo_Bike/gbfs.json
    Beryl - Wool https://gbfs.beryl.cc/v2_2/Wool/gbfs.json
    Co-bikes https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_eu/gbfs.json
    Demoland https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tb/gbfs.json
    Donkey Republic Charlbury https://stables.donkey.bike/api/public/gbfs/2/donkey_charlbury/gbfs.json
    Donkey Republic Cheltenham Spa https://stables.donkey.bike/api/public/gbfs/2/donkey_cheltenham_spa/gbfs.json
    Donkey Republic Cirencester https://stables.donkey.bike/api/public/gbfs/2/donkey_cirencester/gbfs.json
    Donkey Republic Henley On Thames https://stables.donkey.bike/api/public/gbfs/2/donkey_henley_on_thames/gbfs.json
    Donkey Republic Kingham https://stables.donkey.bike/api/public/gbfs/2/donkey_kingham/gbfs.json
    Donkey Republic Milton Park https://stables.donkey.bike/api/public/gbfs/2/donkey_miltonpark/gbfs
    Donkey Republic Moreton In Marsh https://stables.donkey.bike/api/public/gbfs/2/donkey_moreton_in_marsh/gbfs.json
    Donkey Republic Northleach https://stables.donkey.bike/api/public/gbfs/2/donkey_northleach/gbfs.json
    Donkey Republic Oxford https://stables.donkey.bike/api/public/gbfs/2/donkey_oxford/gbfs.json
    Donkey Republic Plymouth https://stables.donkey.bike/api/public/gbfs/2/donkey_plymouth/gbfs.json
    Donkey Republic Stroud https://stables.donkey.bike/api/public/gbfs/2/donkey_stroud/gbfs.json
    Donkey Republic Tetbury https://stables.donkey.bike/api/public/gbfs/2/donkey_tetbury/gbfs.json
    Donkey Republic The Cotswold Water Park https://stables.donkey.bike/api/public/gbfs/2/donkey_the_cotswold_water_park/gbfs.json
    Donkey Republic Whichford https://stables.donkey.bike/api/public/gbfs/2/donkey_whichford/gbfs.json
    Donkey Republic Worthing https://stables.donkey.bike/api/public/gbfs/2/donkey_worthing/gbfs.json
    nextbike Stirling https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uk/gbfs.json
    OVO Bikes Cardiff & Vale of Glamorgan https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uc/gbfs.json
    OVO Bikes Glasgow https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_gg/gbfs.json
    Santander Cycles - Brunel https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ub/gbfs.json
    Santander Cycles - Milton Keynes https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ku/gbfs.json
    Santander Cycles - Swansea https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uu/gbfs.json
    eMobi (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_em/gbfs.json
    Grad Drniš (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_gd/gbfs.json
    Grad Ivanić-Grad (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ig/gbfs.json
    Grad Karlovac (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_kc/gbfs.json
    Grad Križevci (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_gk/gbfs.json
    Grad Makarska (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ma/gbfs.json
    Grad Metković (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cm/gbfs.json
    Grad Pula (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_gs/gbfs.json
    Grad Šibenik (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bc/gbfs.json
    Grad Sisak (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cs/gbfs.json
    Grad Slavonski Brod (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sb/gbfs.json
    Grad Split (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_gt/gbfs.json
    Grad Velika Gorica (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cg/gbfs.json
    Grad Vukovar (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_vu/gbfs.json
    Grad Zadar (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_zd/gbfs.json
    Grad Zaprešić (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_sg/gbfs.json
    Hvar https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ol/gbfs.json
    Jastrebarsko (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cj/gbfs.json
    nextbike Croatia https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_hr/gbfs.json
    Općina Brinje (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_br/gbfs.json
    Općina Pitomača (Croatia) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_se/gbfs.json
    Donkey Republic Budapest https://stables.donkey.bike/api/public/gbfs/2/donkey_budapest/gbfs.json
    MOL Bubi https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bh/gbfs.json
    Castletroy Bikes (Ireland) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_lm/gbfs.json
    Navan Bikes (Ireland) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ll/gbfs.json
    Bird Tel Aviv https://mds.bird.co/gbfs/v2/public/tel-aviv/gbfs.json
    Lime Tel Aviv https://data.lime.bike/api/partners/v2/gbfs/tel_aviv/gbfs.json
    Donkey Republic Reykjavik https://stables.donkey.bike/api/public/gbfs/2/donkey_reykjavik/gbfs.json
    ARVAL https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ia/gbfs.json
    Bird Rome https://mds.bird.co/gbfs/v2/public/rome/gbfs.json
    Helbiz Waterloo https://gbfs.helbiz.com/v2.2/waterloo/gbfs.json
    Lime Rome https://data.lime.bike/api/partners/v2/gbfs/rome/gbfs.json
    Lime Verona https://data.lime.bike/api/partners/v2/gbfs/verona/gbfs.json
    Milan Bikemi https://gbfs.urbansharing.com/bikemi.com/gbfs.json
    nextbike Bergamo https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ib/gbfs.json
    Verona Bike https://gbfs.urbansharing.com/bikeverona.it/gbfs.json
    docomo bike share service https://api-public.odpt.org/api/v4/gbfs/docomo-cycle/gbfs.json
    docomo bike share service https://api-public.odpt.org/api/v4/gbfs/docomo-cycle-tokyo/gbfs.json
    HELLO CYCLING https://api-public.odpt.org/api/v4/gbfs/hellocycling/gbfs.json
    Donkey Republic Liechtenstein https://stables.donkey.bike/api/public/gbfs/2/donkey_li/gbfs.json
    nextbike LV https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_lv/gbfs.json
    MonaBike https://monaco.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Ecobici https://gbfs.mex.lyftbikes.com/gbfs/gbfs.json
    Mibici Guadalajara https://guadalajara-mx.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Cykl https://www.cykl.nl/gbfs/gbfs.json
    Donkey Republic Amsterdam https://stables.donkey.bike/api/public/gbfs/2/donkey_am/gbfs.json
    Donkey Republic Den Haag https://stables.donkey.bike/api/public/gbfs/2/donkey_den_haag/gbfs.json
    Donkey Republic Dordrecht https://stables.donkey.bike/api/public/gbfs/2/donkey_dordrecht/gbfs.json
    Donkey Republic Gorinchem https://stables.donkey.bike/api/public/gbfs/2/donkey_gorinchem/gbfs.json
    Donkey Republic Rotterdam https://stables.donkey.bike/api/public/gbfs/2/donkey_rt/gbfs.json
    Donkey Republic Rotterdam/Den Haag https://stables.donkey.bike/api/public/gbfs/2/donkey_rotterdam_den_haag/gbfs
    Donkey Republic Utrecht https://stables.donkey.bike/api/public/gbfs/2/donkey_ut/gbfs.json
    Donkey Republic Utrechtse Heuvelrug https://stables.donkey.bike/api/public/gbfs/2/donkey_utrechtse_heuvelrug/gbfs.json
    GoAbout https://gbfs.goabout.com/2/gbfs.json
    NS OV Fiets http://gbfs.openov.nl/ovfiets/gbfs.json
    Bergen Bysykkel https://api.entur.io/mobility/v2/gbfs/bergenbysykkel/gbfs
    Bergen City Bike https://gbfs.urbansharing.com/bergenbysykkel.no/gbfs.json
    Brakar Bysykkel https://api.entur.io/mobility/v2/gbfs/brakarbysykkel/gbfs
    Hertz Bildeling https://api.entur.io/mobility/v2/gbfs/hertzbildeling/gbfs
    Hyre https://api.entur.io/mobility/v2/gbfs/hyrenorge/gbfs
    Kolumbus Bysykkel https://api.entur.io/mobility/v2/gbfs/kolumbusbysykkel/gbfs
    Otto https://api.entur.io/mobility/v2/gbfs/otto/gbfs
    Oslo Bysykkel https://api.entur.io/mobility/v2/gbfs/oslobysykkel/gbfs
    Trondheim Bysykkel https://api.entur.io/mobility/v2/gbfs/trondheimbysykkel/gbfs
    Flamingo Palerston North https://data.rideflamingo.com/gbfs/palmerston-north/gbfs.json
    Flamingo Waimakariri https://data.rideflamingo.com/gbfs/waimakariri/gbfs.json
    Flamingo Wellington https://data.rideflamingo.com/gbfs/wellington/gbfs.json
    ŁoKeR - Łomża https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_oa/gbfs.json
    MEVO https://gbfs.urbansharing.com/rowermevo.pl/gbfs.json
    Rowerowe Łódzkie Poland (RL) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_pw/gbfs.json
    WRM nextbike Poland https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_pl/gbfs.json
    Bird Braga https://mds.bird.co/gbfs/v2/public/braga/gbfs.json
    Bird Cascais https://mds.bird.co/gbfs/v2/public/cascais/gbfs.json
    Bird Lisbon https://mds.bird.co/gbfs/v2/public/lisbon/gbfs.json
    Buzau VeloCity https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_bv/gbfs.json
    Drobeta Velopark https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_rd/gbfs.json
    nextbike Romania https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nw/gbfs.json
    Saturn https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_rs/gbfs.json
    Sibiu BikeCity https://sibiu.publicbikesystem.net/operation/customer/gbfs/v2/gbfs.json
    Topoloveni Bike https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_rt/gbfs.json
    Velo Sântana https://santana.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Donkey Republic Ängelholm https://stables.donkey.bike/api/public/gbfs/2/donkey_aengelholm/gbfs.json
    Donkey Republic Båstad https://stables.donkey.bike/api/public/gbfs/2/donkey_baastad/gbfs.json
    Donkey Republic Malmö https://stables.donkey.bike/api/public/gbfs/2/donkey_malmoe/gbfs.json
    Donkey Republic Ystad https://stables.donkey.bike/api/public/gbfs/2/donkey_ystad/gbfs.json
    Qick Borlänge https://qickscooters.rideatom.com/gbfs/v2_2/en/gbfs?id=463
    Qick Eskilstuna https://qickscooters.rideatom.com/gbfs/v2_2/en/gbfs?id=462
    Qick Falun https://qickscooters.rideatom.com/gbfs/v2_2/en/gbfs?id=464
    Qick Jönköping https://qickscooters.rideatom.com/gbfs/v2_2/en/gbfs?id=52
    Qick Norrköping https://qickscooters.rideatom.com/gbfs/v2_2/en/gbfs?id=53
    Qick Örebro https://qickscooters.rideatom.com/gbfs/v2_2/en/gbfs?id=5
    Qick Västerås https://qickscooters.rideatom.com/gbfs/v2_2/en/gbfs?id=104
    "Styr & Ställ (Sweden Göteborg)" https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_zg/gbfs.json
    Nomago Bikes - GO2GO https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ce/gbfs.json
    Nomago Bikes - GO2GO Gorizia https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cd/gbfs.json
    Nomago Bikes - KOLESCE https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cn/gbfs.json
    Nomago Bikes - KRANJSKA GORA https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ck/gbfs.json
    Nomago Bikes - LJUBLJANA https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cc/gbfs.json
    Nomago Bikes - PORTOROZ https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cl/gbfs.json
    Nomago Bikes - SLOVENIA https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cx/gbfs.json
    Nomago Bikes - ZANAPREJ https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_cf/gbfs.json
    BikeKIA https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_ak/gbfs.json
    AAR Bike https://app.linkalock.com/api/gbfs/D2uRLGw8vBa2FJxa8/gbfs.json
    KARBIS Turkey https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_tr/gbfs.json
    nextbike Konya https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nk/gbfs.json
    nextbike Kiev https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_nu/gbfs.json
    nextbike Vinnitsa (Ukraine) https://gbfs.nextbike.net/maps/gbfs/v2/nextbike_uv/gbfs.json
    Austin B-cycle https://gbfs.bcycle.com/bcycle_austin/gbfs.json
    Aventura BCycle https://gbfs.bcycle.com/bcycle_aventura/gbfs.json
    Bay Wheels https://gbfs.baywheels.com/gbfs/2.3/gbfs.json
    Bike Chattanooga https://chat.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    BikeLNK https://gbfs.bcycle.com/bcycle_bikelnk/gbfs.json
    Bikeshare Kona https://kona.publicbikesystem.net/ube/gbfs/v1/
    BIKETOWN https://gbfs.biketownpdx.com/gbfs/2.3/gbfs.json
    Biki https://hon.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Bird Alexandria https://mds.bird.co/gbfs/v2/public/alexandria/gbfs.json
    bird arlingtonco https://mds.bird.co/gbfs/v2/public/arlingtonco/gbfs.json
    Bird Baltimore https://mds.bird.co/gbfs/v2/public/baltimore/gbfs.json
    Boulder BCycle https://gbfs.bcycle.com/bcycle_boulder/gbfs.json
    Bird Chicago https://mds.bird.co/gbfs/v2/public/chicago/gbfs.json
    Bird Cleveland https://mds.bird.co/gbfs/v2/public/cleveland/gbfs.json
    Bird Columbus https://mds.bird.co/gbfs/v2/public/columbus/gbfs.json
    Bird Culver City https://mds.bird.co/gbfs/v2/public/culver-city/gbfs.json
    Bird Detriot https://mds.bird.co/gbfs/v2/public/detroit/gbfs.json
    Bird Durham https://mds.bird.co/gbfs/v2/public/durham/gbfs.json
    Bird Fairfax https://mds.bird.co/gbfs/v2/public/fairfax/gbfs.json
    Bird Indianapolis https://mds.bird.co/gbfs/v2/public/indianapolis/gbfs.json
    Bird Kansas City https://mds.bird.co/gbfs/v2/public/kansas-city/gbfs.json
    Bird Los Angeles https://mds.bird.co/gbfs/v2/public/los-angeles/gbfs.json
    Bird Louisville https://mds.bird.co/gbfs/v2/public/louisville/gbfs.json
    Bird Miami https://mds.bird.co/gbfs/v2/public/miami/gbfs.json
    Bird New York https://mds.bird.co/gbfs/v2/public/new-york/gbfs.json
    Bird Portland https://mds.bird.co/gbfs/v2/public/portland/gbfs.json
    Bird San Francisco https://mds.bird.co/gbfs/v2/public/san-francisco/gbfs.json
    Bird St Louis https://mds.bird.co/gbfs/v2/public/st-louis/gbfs.json
    Bird Tempe https://mds.bird.co/gbfs/v2/public/tempe/gbfs.json
    Bird Washington DC https://mds.bird.co/gbfs/v2/public/washington-dc/gbfs.json
    Blue Bikes https://gbfs.bluebikes.com/gbfs/gbfs.json
    Boaz Bikes https://gbsf.movatic.co/en/1.1/576347857979998215
    Broward B-cycle https://gbfs.bcycle.com/bcycle_broward/gbfs.json
    Bublr Bikes https://gbfs.bcycle.com/bcycle_bublr/gbfs.json
    Capital Bike Share https://gbfs.capitalbikeshare.com/gbfs/2.3/gbfs.json
    Charlotte B-cycle https://gbfs.bcycle.com/bcycle_charlotte/gbfs.json
    Cincy Red Bike https://gbfs.bcycle.com/bcycle_cincyredbike/gbfs.json
    Citi Bike https://gbfs.citibikenyc.com/gbfs/2.3/gbfs.json
    Clarksville B-cycle https://gbfs.bcycle.com/bcycle_clarksville/gbfs.json
    Clemson BikeShare https://gbfs.bcycle.com/bcycle_clemson/gbfs.json
    Coast Bike Share https://coast.socialbicycles.com/opendata/gbfs.json
    CoGo https://gbfs.cogobikeshare.com/gbfs/2.3/gbfs.json
    Des Moines B-cycle https://gbfs.bcycle.com/bcycle_desmoines/gbfs.json
    Lyft Scooters Chicago https://gbfs.divvybikes.com/gbfs/2.3/gbfs.json
    El Paso B-cycle https://gbfs.bcycle.com/bcycle_elpaso/gbfs.json
    Encinitas BCycle https://gbfs.bcycle.com/bcycle_encinitas/gbfs.json
    Explore Bike Share https://gbfs.bcycle.com/bcycle_memphis/gbfs.json
    Fort Worth Bike Sharing https://gbfs.bcycle.com/bcycle_fortworth/gbfs.json
    GREENbike https://gbfs.bcycle.com/bcycle_greenbikeslc/gbfs.json
    Greenville B-cycle https://gbfs.bcycle.com/bcycle_greenville/gbfs.json
    Heartland B-cycle https://gbfs.bcycle.com/bcycle_heartland/gbfs.json
    Houston B-cycle https://gbfs.bcycle.com/bcycle_houston/gbfs.json
    Indego https://gbfs.bcycle.com/bcycle_indego/gbfs.json
    Indy - Pacers Bikeshare https://gbfs.bcycle.com/bcycle_pacersbikeshare/gbfs.json
    Jackson County https://gbfs.bcycle.com/bcycle_jacksoncounty/gbfs.json
    Lime Arlington https://data.lime.bike/api/partners/v2/gbfs/arlington/gbfs.json
    Lime Chicago https://data.lime.bike/api/partners/v2/gbfs/chicago/gbfs.json
    Lime Cleveland https://data.lime.bike/api/partners/v2/gbfs/cleveland/gbfs.json
    Lime Colorado Springs https://data.lime.bike/api/partners/v2/gbfs/colorado_springs/gbfs.json
    Lime Detroit https://data.lime.bike/api/partners/v2/gbfs/detroit/gbfs.json
    Lime Grand Rapids https://data.lime.bike/api/partners/v2/gbfs/grand_rapids/gbfs.json
    Lime Louisville https://data.lime.bike/api/partners/v2/gbfs/louisville/gbfs.json
    Lime New York https://data.lime.bike/api/partners/v2/gbfs/new_york/gbfs.json
    Lime Oakland https://data.lime.bike/api/partners/v2/gbfs/oakland/gbfs.json
    Lime Portland https://data.lime.bike/api/partners/v2/gbfs/portland/gbfs.json
    Lime San Francisco https://data.lime.bike/api/partners/v2/gbfs/san_francisco/gbfs.json
    Lime San Jose https://data.lime.bike/api/partners/v2/gbfs/san_jose/gbfs.json
    Lime Seattle https://data.lime.bike/api/partners/v2/gbfs/seattle/gbfs.json
    Lime Washington DC https://data.lime.bike/api/partners/v2/gbfs/washington_dc/gbfs.json
    Lyft https://gbfs.lyft.com/gbfs/2.3/dca/gbfs.json
    Lyft Scooters Denver https://gbfs.lyft.com/gbfs/2.3/den/gbfs.json
    Madison B-cycle https://gbfs.bcycle.com/bcycle_madison/gbfs.json
    McAllen B-cycle https://gbfs.bcycle.com/bcycle_mcallen/gbfs.json
    Metro Bike Share https://gbfs.bcycle.com/bcycle_lametro/gbfs.json
    Mogo Detroit https://detroit-us.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Nashville BCycle https://gbfs.bcycle.com/bcycle_nashville/gbfs.json
    PeaceHealth Rides https://peacehealthrides.com/opendata/gbfs.json
    Pogoh https://pittsburgh.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Redding Bikeshare https://gbfs.bcycle.com/bcycle_redding/gbfs.json
    Reddy Bikeshare https://reddybikeshare.socialbicycles.com/opendata/gbfs.json
    Relay Bike Share https://relaybikeshare.socialbicycles.com/opendata/gbfs.json
    Revel Miami https://gbfs.gorevel.com/gbfs/v2/miami/en/gbfs.json
    Revel New York https://gbfs.gorevel.com/gbfs/v2/newyork/en/gbfs.json
    Revel Oakland https://gbfs.gorevel.com/gbfs/v2/oakland/en/gbfs.json
    Revel San Francisco https://gbfs.gorevel.com/gbfs/v2/sanfrancisco/en/gbfs.json
    Revel Washington D.C. https://gbfs.gorevel.com/gbfs/v2/washingtondc/en/gbfs.json
    RTC Bike Share https://gbfs.bcycle.com/bcycle_rtcbikeshare/gbfs.json
    San Antonio B-cycle https://gbfs.bcycle.com/bcycle_sanantonio/gbfs.json
    Santa Barbara BCycle https://gbfs.bcycle.com/bcycle_santabarbara/gbfs.json
    Santa Cruz BCycle https://gbfs.bcycle.com/bcycle_santacruz/gbfs.json
    SBU Wolf Ride Bike Share https://sbu.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Spin Akron https://gbfs.spin.pm/api/gbfs/v2_3/akron/gbfs
    Spin Albuquerque https://gbfs.spin.pm/api/gbfs/v2_3/albuquerque/gbfs
    Spin Alexandria https://gbfs.spin.pm/api/gbfs/v2_3/alexandria/gbfs
    Spin Ann Arbor https://gbfs.spin.pm/api/gbfs/v2_3/ann_arbor/gbfs
    Spin Asbury Park https://gbfs.spin.pm/api/gbfs/v2_3/asbury_park/gbfs
    Spin Atlanta https://gbfs.spin.pm/api/gbfs/v2_3/atlanta/gbfs
    Spin Austin https://gbfs.spin.pm/api/gbfs/v2_3/austin/gbfs
    Spin Baltimore https://gbfs.spin.pm/api/gbfs/v2_3/baltimore/gbfs.json
    Spin Boise https://gbfs.spin.pm/api/gbfs/v2_3/boise/gbfs
    Spin Brookline https://gbfs.spin.pm/api/gbfs/v2_3/brookline/gbfs
    Spin Charlotte https://gbfs.spin.pm/api/gbfs/v2_3/charlotte/gbfs
    Spin Chicago https://gbfs.spin.pm/api/gbfs/v2_3/chicago_territory/gbfs
    Spin Cleveland https://gbfs.spin.pm/api/gbfs/v2_3/cleveland/gbfs
    Spin Columbus https://gbfs.spin.pm/api/gbfs/v2_3/columbus/gbfs
    Spin Coral Gables https://gbfs.spin.pm/api/gbfs/v2_3/coral_gables/gbfs
    Spin Dayton https://gbfs.spin.pm/api/gbfs/v2_3/dayton/gbfs
    Spin Denver https://gbfs.spin.pm/api/gbfs/v2_3/denver/gbfs
    Spin Detroit https://gbfs.spin.pm/api/gbfs/v2_3/detroit/gbfs
    Spin Duke https://gbfs.spin.pm/api/gbfs/v2_3/duke/gbfs
    Spin Durham https://gbfs.spin.pm/api/gbfs/v2_3/durham/gbfs
    Spin Fayetteville https://gbfs.spin.pm/api/gbfs/v2_3/fayetteville/gbfs
    Spin Fort Collins https://gbfs.spin.pm/api/gbfs/v2_3/fort_collins/gbfs
    Spin Fort Pierce https://gbfs.spin.pm/api/gbfs/v2_3/fort_pierce/gbfs
    Spin Gainesville https://gbfs.spin.pm/api/gbfs/v2_3/gainesville/gbfs
    Spin Garden City https://gbfs.spin.pm/api/gbfs/v2_3/garden_city/gbfs
    Spin Grand Rapids https://gbfs.spin.pm/api/gbfs/v2_3/grand_rapids/gbfs
    Spin Greenville https://gbfs.spin.pm/api/gbfs/v2_3/greenville/gbfs
    Spin Isla Vista https://gbfs.spin.pm/api/gbfs/v2_3/isla_vista/gbfs
    Spin Jacksonville https://gbfs.spin.pm/api/gbfs/v2_3/jacksonville/gbfs
    Spin Jefferson City https://gbfs.spin.pm/api/gbfs/v2_3/jefferson_city/gbfs
    Spin Kansas City https://gbfs.spin.pm/api/gbfs/v2_3/kansas_city/gbfs
    Spin Knoxville https://gbfs.spin.pm/api/gbfs/v2_3/knoxville/gbfs
    Spin Lexington https://gbfs.spin.pm/api/gbfs/v2_3/lexington/gbfs
    Spin Lincoln https://gbfs.spin.pm/api/gbfs/v2_3/lincoln/gbfs
    Spin Long Beach https://gbfs.spin.pm/api/gbfs/v2_3/long_beach/gbfs
    Spin Los Angeles https://gbfs.spin.pm/api/gbfs/v2_3/los_angeles/gbfs
    Spin Louisville https://gbfs.spin.pm/api/gbfs/v2_3/louisville/gbfs
    Spin Memphis https://gbfs.spin.pm/api/gbfs/v2_3/memphis/gbfs
    Spin Mesa https://gbfs.spin.pm/api/gbfs/v2_3/mesa/gbfs
    Spin Miami https://gbfs.spin.pm/api/gbfs/v2_3/miami/gbfs
    Spin Michigan State University https://gbfs.spin.pm/api/gbfs/v2_3/michigan_state_university/gbfs
    Spin Minneapolis https://gbfs.spin.pm/api/gbfs/v2_3/minneapolis/gbfs
    Spin Mongomery County https://gbfs.spin.pm/api/gbfs/v2_3/montgomery_county/gbfs
    Spin Nashville https://gbfs.spin.pm/api/gbfs/v2_3/nashville/gbfs
    Spin Nicholls State University https://gbfs.spin.pm/api/gbfs/v2_3/nicholls_state/gbfs
    Spin NMSU https://gbfs.spin.pm/api/gbfs/v2_3/nmsu/gbfs
    Spin Oakland University https://gbfs.spin.pm/api/gbfs/v2_3/oakland_university/gbfs
    Spin Ohio State https://gbfs.spin.pm/api/gbfs/v2_3/ohio_state/gbfs
    Spin Omaha https://gbfs.spin.pm/api/gbfs/v2_3/omaha/gbfs
    Spin Orem https://gbfs.spin.pm/api/gbfs/v2_3/orem/gbfs
    Spin Orlando https://gbfs.spin.pm/api/gbfs/v2_3/orlando/gbfs
    Spin Phoenix https://gbfs.spin.pm/api/gbfs/v2_3/phoenix/gbfs
    Spin Pittsburgh https://gbfs.spin.pm/api/gbfs/v2_3/pittsburgh/gbfs
    Spin Portland https://gbfs.spin.pm/api/gbfs/v2_3/portland/gbfs
    Spin Providence https://gbfs.spin.pm/api/gbfs/v2_3/providence/gbfs
    Spin Provo https://gbfs.spin.pm/api/gbfs/v2_3/provo/gbfs
    Spin Purdue University https://gbfs.spin.pm/api/gbfs/v2_3/purdue_university/gbfs
    Spin Raleigh https://gbfs.spin.pm/api/gbfs/v2_3/raleigh/gbfs
    Spin Salem https://gbfs.spin.pm/api/gbfs/v2_3/salem/gbfs
    Spin Salt Lake City https://gbfs.spin.pm/api/gbfs/v2_3/salt_lake_city/gbfs
    Spin San Antonio https://gbfs.spin.pm/api/gbfs/v2_3/san_antonio/gbfs
    Spin San Diego https://gbfs.spin.pm/api/gbfs/v2_3/san_diego/gbfs
    Spin San Francisco https://gbfs.spin.pm/api/gbfs/v2_3/san_francisco/gbfs
    Spin San Marcos https://gbfs.spin.pm/api/gbfs/v2_3/san_marcos/gbfs
    Spin Santa Monica https://gbfs.spin.pm/api/gbfs/v2_3/santa%20monica/gbfs
    Spin Seattle https://gbfs.spin.pm/api/gbfs/v2_3/seattle/gbfs
    Spin South Miami https://gbfs.spin.pm/api/gbfs/v2_3/south_miami/gbfs
    Spin St George https://gbfs.spin.pm/api/gbfs/v2_3/st_george/gbfs
    Spin Stillwater https://gbfs.spin.pm/api/gbfs/v2_3/stillwater/gbfs
    Spin St Louis https://gbfs.spin.pm/api/gbfs/v2_3/st_louis/gbfs
    Spin Tallahassee https://gbfs.spin.pm/api/gbfs/v2_3/tallahassee/gbfs
    Spin Tampa https://gbfs.spin.pm/api/gbfs/v2_3/tampa/gbfs
    Spin Tempe https://gbfs.spin.pm/api/gbfs/v2_3/tempe/gbfs
    Spin Towson https://gbfs.spin.pm/api/gbfs/v2_3/towson/gbfs
    Spin Troy https://gbfs.spin.pm/api/gbfs/v2_3/troy/gbfs
    Spin UC San Diego https://gbfs.spin.pm/api/gbfs/v2_3/uc_san_diego/gbfs
    Spin University of Central Florida https://gbfs.spin.pm/api/gbfs/v2_3/university_of_central_florida/gbfs
    Spin University of Kentucky https://gbfs.spin.pm/api/gbfs/v2_3/university_of_kentucky/gbfs
    Spin Virginia Tech https://gbfs.spin.pm/api/gbfs/v2_3/virginia_tech/gbfs
    Spin Washington DC https://gbfs.spin.pm/api/gbfs/v2_3/washington_dc/gbfs
    Spin White Center https://gbfs.spin.pm/api/gbfs/v2_3/white_center/gbfs
    Spin Wichita https://gbfs.spin.pm/api/gbfs/v2_3/wichita/gbfs
    Spin Winston Salem https://gbfs.spin.pm/api/gbfs/v2_3/winston_salem/gbfs
    Truckee BCycle https://gbfs.bcycle.com/bcycle_truckee/gbfs.json
    Tugo https://tucson.publicbikesystem.net/customer/gbfs/v2/gbfs.json
    Valentine Bike Share https://gbfs.bcycle.com/bcycle_valentine/gbfs.json
    WE-cycle https://aspen.publicbikesystem.net/customer/gbfs/v2/gbfs.json 2

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?