- About
- Endpoints
- Get Involved
- Versions
- Cities Using MDS
- Providers Using MDS
- Use Cases
- Related Projects
The Mobility Data Specification (MDS), a project of the Open Mobility Foundation (OMF), is a set of Application Programming Interfaces (APIs) focused on dockless e-scooters, bicycles, mopeds and carshare. Inspired by projects like GTFS and GBFS, the goals of MDS are to provide a standardized way for municipalities or other regulatory agencies to ingest, compare and analyze data from mobility service providers, and to give municipalities the ability to express regulation in machine-readable formats.
MDS helps cities interact with companies who operate dockless scooters, bicycles, mopeds and carshare in the public right-of-way. MDS is a key piece of digital infrastructure that supports the effective implementation of mobility policies in cities around the world.
MDS is an open-source project. It was originally created by the Los Angeles Department of Transportation (LADOT). In November 2019, stewardship of MDS and the ownership of this repository was transferred to the Open Mobility Foundation. GitHub automatically redirects any links to this repository in the CityOfLosAngeles
organization to the openmobilityfoundation
instead. MDS continues to be used by LADOT and many other municipalities.
MDS is currently comprised of three distinct components:
-
The
provider
API endpoints are intended to be implemented by mobility providers and consumed by regulatory agencies. When a municipality queries information from a mobility provider, the Provider API has a historical view of operations in a standard format. It was first released in June 2018. Development takes place under the guidance of the OMF's Provider Services Working Group. -
The
agency
API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Providers query the Agency API when events (such as a trip start or vehicle status change) occur in their systems. It was first released in April 2019. Development takes place under the guidance of the OMF's City Services Working Group. -
The
policy
API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Providers query the Policy API to get information about local rules that may affect the operation of their mobility service or which may be used to determine compliance. It was first released in October 2019. Development takes place under the guidance of the OMF's City Services Working Group.
MDS is designed to be a modular kit-of-parts. Regulatory agencies can use the components of the API that are appropriate for their needs. An agency may choose to use only agency
, provider
, or policy
. Or they may select specific elements (endpoints) from each to help them implement their goals.
Many parts of the MDS definitions and APIs align across each other. In these cases, consolidated information can be found on the General Information page.
You can read more about the different APIs here: Understanding the different MDS APIs
To stay up to date on MDS releases, meetings, and events, please subscribe to the mds-announce mailing list.
The Mobility Data Specification is an open source project with all development taking place on GitHub. Comments and ideas can be shared by creating an issue, and specific changes can be suggested by opening a pull request. Before contributing, please review our OMF CONTRIBUTING page to understand guidelines and policies for participation and our CODE OF CONDUCT page.
You can learn more about the polices, methodolgies, and tools in the MDS ecosystem in the Mobility Data Management State of Practice wiki.
You can also get involved in development by joining an OMF working group. The working groups maintain the OMF GitHub repositories and work through issues and pull requests. Each working group has its own mailing list for non-technical discussion and planning:
Working Group | Mailing List | Description |
---|---|---|
Provider Services | mds-provider-services | Manages the provider API within MDS. |
City Services | mds-city-services | Manages the agency and policy APIs within MDS, as well as the mds-core and mds-compliance-mobile reference implementations. |
You can view info about past releases and planning calls in the wiki.
For questions about MDS please contact [email protected]. Media inquiries to [email protected]
The latest MDS release is in the main
branch, and preparation for the next release occurs in the dev
branch.
The MDS specification is versioned using Git tags and semantic versioning. See prior releases and the Release Guidelines for more information.
More than 90 cities and public agencies around the world use MDS, and it has been implemented by most major mobility providers. Below are links to some of the specific agency programs/policies:
-
Arlington, VA: Shared Micro-Mobility Devices page and permit application.
-
Atlanta, GA: Administrative Regulations for Shareable Dockless Mobility Device Permit Holders from Department of City Planning.
-
Austin, TX: The rules and guidelines for Austin's Micromobility Program can be found on Austin's Shared Mobility Program website. See the Director Rules and Application for more details.
-
Calgary, Canada: Programs for a Dockless Bike Share Pilot and a shared electric scooter pilot that require MDS in the application and programs.
-
Chicago, IL: E-Scooter Share Pilot Program information.
-
Denver, CO: Dockless Mobility Vehicle Pilot Permit Program in the Department of Transportation & Infrastructure.
-
Detroit, MI: See the Public Works Scooter Page and the Dockless Scooters Interpretation
-
El Paso, TX: Shared Use Mobility Devices main page and full Rules and Regulations.
-
Indianapolis, IN: Shared Mobility Devices main page and full policy document.
-
Kansas City, MO: Scooter and e-Bike Pilot Program document.
-
Kelowna, Canada: Bikeshare Permit Program and operator application.
-
Long Beach, CA: Detailed Permit Application including MDS and general reporting.
-
Los Angeles, CA: The rules and guidelines for the Los Angeles Dockless Bikeshare Systems / Pilot Program can be found on Council Clerk Connect along with supporting info on ladot.io. See the application and Technical Compliance documents.
-
Louisville, KY: City Dockless Vehicle Policy and Public Works Guideance.
-
Nashville, TN: Mobility Devices Bill.
-
Miami, FL: Miami Scooter Program.
-
Minneapolis, MN: Mobility Data Methodology and Analysis and Motorized Foot Scooters webpage.
-
Philadelphia, PA: Dockless Bike Share Pilot and regulations, including application and regulations.
-
Pittsburgh, PA: The city's Bike+ Master Plan includes multiple modes.
-
Portland, OR: Administrative Rule and data sharing document from PBOT.
-
San Diego, CA: Shared Mobility Device Operator Regulations and Ordinance with Data Sharing Provisions.
-
San Francisco, CA: SFMTA Policy Document and Guideance Page.
-
San Jose, CA: Shared Micro-mobility Permit Administrative Regulations.
-
Santa Monica, CA: The rules and guidelines are on the Santa Monica Shared Mobility Pilot Program page, and also see the full regulations and pilot program summary report.
-
Seattle, WA: SDOT's Free-floating Bike Share Permitting program, permit requirements, and Mobility Data Privacy and Handling Guidelines.
-
Ulm, Germany: A draft of the guidelines can be found at the city's GitHub presence.
-
Washington, DC: Information about the program can be found on DDOT’s dockless mobility page along with the terms and conditions and Attachment C data standards. Further information on the dockless data policies are available here.
-
add a city here by opening a pull request or making an issue.
Other cities include Baltimore, Bellevue, Charlotte, and Oakland, as mentioned in the NACTO Guidelines for Regulating Shared Micromobility, page 48.
Over two dozen mobility service providers around the world use MDS, allowing them to create tools around a single data standard for multiple cities. For a full list, see the MDS provider list.
Some examples of how cities are using MDS in practice:
- Verify how many scooters are operating.
- Verify whether scooters are being deployed equitably across neighborhoods.
- Determine whether scooters are dropped off outside of a service area.
- Determine whether scooters are being parked in safe and appropriate parking areas.
- Ensure compliance with device caps and operating regulations.
- Ensure inform and help manage 311 / Service Request style operations.
- Inform future capital investments such as dockless vehicle drop zones or furniture zones.
- Inform infrastructure planning efforts such as the addition of bike lanes or street redesigns.
- Provide visibility into the relationship between micromobility and other modes, such as public transit
- Inform micromobility policy making – number of scooters, distribution, etc.
- Develop ways to communicate dynamic information on unplanned events, such as emergency road closures, water main breaks, etc. to mobility providers to help them keep their users and contractors informed for better route planning and re-balancing efforts.
More details and examples can be seen on our Wiki.
mds-core
- A reference implementation of an MDS Agency Server, built using PostgresQL, TypeScript, NodeJS.mds-compliance-mobile
- A mobile app for performing in-the-field data validation and compliance monitoring.
mds-dev
- Code to do cap checking, fake data generation and more with provider data.mds-validator
- Code to validate MDS APIs using JSONSchema.aqueduct
- ETL, Data Warehousing, and Machine Learning Platform for LA City Data Science team. Handles extracting MDS provider APIs and storing in data warehouse.mds-agency-cli
- Nodejs-based command-line interface to exercise the Agency API in the LADOT sandbox
mds-provider
- Python package implementing a provider API client, validation using JSONSchema, data loading to multiple targets, and fake provider data generation.mds-provider-services
- Python scripts wrapped in Docker containers implementing a MDS provider data ingestion flow, usingmds-provider
and handling the various dependencies.
transportation-dockless-dataviz
- A hexbin origin/destintation web map of dockless trips using jQuery & Mapbox GL JS. See http://dockless.austintexas.io/.transportation-dockless-api
- Python Sanic-based API that provides an interface for retrieving anonymized and aggregated trip data. This API supplies data to our interactive Dockless Mobility Explorer. The source database for the API is our Dockless Vehicle Trips dataset.atd-mds
An MDS provider client and ETL framework.
Dockless-Open-Data
- Convert MDS trip data to anonymized open data. See https://data.louisvilleky.gov/ for open data.
django-mds
- Python/Django open source server for theagency
API, developed by BlueSystems.
Please open a pull request if you create open source or private tools for implementing or working with MDS data.