{"id":16422165,"url":"https://github.com/phillipdupuis/mbta-api-playground","last_synced_at":"2026-01-22T18:02:54.492Z","repository":{"id":37231167,"uuid":"207819420","full_name":"phillipdupuis/mbta-api-playground","owner":"phillipdupuis","description":"Learn about the MBTA V3 API by building queries and exploring the results","archived":false,"fork":false,"pushed_at":"2022-12-08T06:09:21.000Z","size":1767,"stargazers_count":2,"open_issues_count":16,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T05:43:18.677Z","etag":null,"topics":["data-exploration","django","django-rest-framework","mbta-api","pandas","pandas-dataframe","pandas-profiling","python"],"latest_commit_sha":null,"homepage":"https://www.mbta-api-playground.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phillipdupuis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-11T13:28:31.000Z","updated_at":"2023-06-02T02:16:56.000Z","dependencies_parsed_at":"2023-01-24T15:00:56.073Z","dependency_job_id":null,"html_url":"https://github.com/phillipdupuis/mbta-api-playground","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phillipdupuis/mbta-api-playground","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phillipdupuis%2Fmbta-api-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phillipdupuis%2Fmbta-api-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phillipdupuis%2Fmbta-api-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phillipdupuis%2Fmbta-api-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phillipdupuis","download_url":"https://codeload.github.com/phillipdupuis/mbta-api-playground/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phillipdupuis%2Fmbta-api-playground/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28667881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T17:07:18.858Z","status":"ssl_error","status_checked_at":"2026-01-22T17:05:02.040Z","response_time":144,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-exploration","django","django-rest-framework","mbta-api","pandas","pandas-dataframe","pandas-profiling","python"],"created_at":"2024-10-11T07:35:41.142Z","updated_at":"2026-01-22T18:02:54.443Z","avatar_url":"https://github.com/phillipdupuis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MBTA API Playground\n[https://www.mbta-api-playground.com/](https://www.mbta-api-playground.com/)\u003cbr\u003e\nLearn how to work with the MBTA V3 API by constructing queries and interacting with the results.\n\n## Creating queries\nUsers can build queries in which they specify:\n* The primary object (ex: Alert, Route, Facility, Vehicle, etc.)\n* The related objects that should also be included in the results\n* The attributes that should be returned for each object\n* Filters for limiting what object instances are returned\n\n## Viewing results\nUpon executing a query, the user is brought to a results page where they can view:\n* A brief summary of the response (status code, size, and query parameters)\n* A table of the response data\n    * It can be downloaded as a CSV file for further analysis\n* A profile report generated by [pandas-profiling](https://github.com/pandas-profiling/pandas-profiling)\n    * Users can customize what correlations are calculated\n* The raw response data as pretty-printed JSON\n* Interactive geolocation plots for any objects which have 'latitude' and 'longitude' attributes.\n    * These plots are generated using [Bokeh](https://bokeh.pydata.org/en/latest/docs/user_guide/geo.html)\n\n## Built With\n* Django\n* Django REST framework\n* Vanilla ES6 JavaScript (the only exception is jQuery was used for showing/hiding modals)\n\n## Example: finding facilities which have bike storage or electric car chargers\n\u003cdetails\u003e\n   \u003csummary\u003eCreating the query\u003c/summary\u003e\n   \n   ![filtered facility query](https://github.com/phillipdupuis/mbta-api-playground/blob/master/core/static/core/screenshots/create_query_facility_with_filters.png)\n\u003c/details\u003e\n\u003cdetails\u003e\n   \u003csummary\u003eResults: Summary\u003c/summary\u003e\n         \n   ![results summary](https://github.com/phillipdupuis/mbta-api-playground/blob/master/core/static/core/screenshots/fac_filt_res_summary.png)\n\u003c/details\u003e\n\u003cdetails\u003e\n   \u003csummary\u003eResults: Table\u003c/summary\u003e\n         \n   ![results table](https://github.com/phillipdupuis/mbta-api-playground/blob/master/core/static/core/screenshots/fac_filt_res_table.png)\n\u003c/details\u003e\n\u003cdetails\u003e\n   \u003csummary\u003eResults: Report\u003c/summary\u003e\n         \n   ![results report](https://github.com/phillipdupuis/mbta-api-playground/blob/master/core/static/core/screenshots/fac_filt_res_report.png)\n\u003c/details\u003e\n\u003cdetails\u003e\n   \u003csummary\u003eResults: JSON\u003c/summary\u003e\n         \n   ![results json](https://github.com/phillipdupuis/mbta-api-playground/blob/master/core/static/core/screenshots/fac_filt_res_json.png)\n\u003c/details\u003e\n\u003cdetails\u003e\n   \u003csummary\u003eResults: Locations\u003c/summary\u003e\n         \n   ![results locations](https://github.com/phillipdupuis/mbta-api-playground/blob/master/core/static/core/screenshots/fac_filt_res_locations.png)\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphillipdupuis%2Fmbta-api-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphillipdupuis%2Fmbta-api-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphillipdupuis%2Fmbta-api-playground/lists"}