BYTETOOLS

Open Data DC API

Free Washington DC open data catalogue as a DCAT-US 1.1 JSON feed: every city dataset with distributions, licences and ArcGIS service URLs. No key. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Open Data DC API?

Open Data DC publishes its entire catalogue as a single DCAT-US 1.1 JSON feed at /api/feed/dcat-us/1.1.json. The document lists every District of Columbia dataset with its description, publisher, licence and downloadable distributions, including live ArcGIS feature service endpoints, and requires no API key.

This is a whole-catalogue document rather than a search API, and that changes how you use it. One request gets you everything the District publishes — GIS layers, tabular extracts, crime and traffic data — as a `dcat:Catalog` with a `dataset` array. There is no query parameter to narrow it, so fetch it once, index it locally and re-fetch on a schedule. DCAT-US 1.1 is the US federal standard defined by Project Open Data, so the same parsing code works against hundreds of other American government portals that emit the same feed shape.

Because the portal is built on ArcGIS Hub, the identifiers point back into Esri's world: `identifier` is an arcgis.com item URL with a `sublayer` fragment, and the distributions typically include a live feature service you can query spatially rather than only static file downloads. Descriptions arrive as HTML, complete with anchor tags and `rel` attributes, so strip or sanitise them before rendering. Expect the feed to be large — plan for a streaming parse rather than loading it into memory whole on a constrained runtime.

Quick facts

Base URL
https://opendata.dc.gov/api/feed/dcat-us/1.1.json
Authentication
No API key. The feed is a static document regenerated by the portal, so there is nothing to authenticate against.
Rate limit
No published limit, but this is a large document. Fetch it on a schedule and cache; do not request it per user.
Pricing
Free. Individual datasets carry their own licence in the `license` field of each entry.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Open Data DC API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch the full Open Data DC catalogue

GET https://opendata.dc.gov/api/feed/dcat-us/1.1.json

curl
curl 'https://opendata.dc.gov/api/feed/dcat-us/1.1.json'
JavaScript (fetch)
const res = await fetch("https://opendata.dc.gov/api/feed/dcat-us/1.1.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://opendata.dc.gov/api/feed/dcat-us/1.1.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "@context": "https://project-open-data.cio.gov/v1.1/schema/catalog.jsonld",
  "@type": "dcat:Catalog",
  "conformsTo": "https://project-open-data.cio.gov/v1.1/schema",
  "describedBy": "https://project-open-data.cio.gov/v1.1/schema/catalog.json",
  "dataset": [
    {
      "@type": "dcat:Dataset",
      "identifier": "https://www.arcgis.com/home/item.html?id=a025be4db2874dadb0e6d776da356236&sublayer=6",
      "landingPage": "https://opendata.dc.gov/datasets/DCGIS::moving-violations-issued-in-july-2018",
      "title": "Moving Violations Issued in July 2018",
      "description": "<p>Moving citation locations in the District of Columbia. The <a href='https://visionzero.dc.gov' target='_blank' rel='nofollow ugc noopener noreferrer'>Vision Zero</a> data contained in this layer pertain to moving violations issued by the District of Columbia's Metropolitan Police Department (MPD) and partner agencies with the authority. For example, DC's enforcement camera program cites speeders, blocking the box, and other moving offenses. Moving violation locations are summarized ticket counts based on time of day, week of year, year, and category of violation. Data was originally extracted from the District Department of Motor Vehicle's eTIMS meter work order management system. Data was then loaded into the DC GIS, where the Office of the Chief Technology Officer (OCTO) geocoded citation data to the street segment level. Data are visualized using the street segment centroid coordinates.</p>",
      "keyword": [
        "DDOT",
        "District",
        "District of Columbia",
        "D

Parameters

ParameterTypeRequiredDescription
(none)pathOptionalThe feed takes no query parameters — it always returns the complete catalogue.

Response fields

@context / conformsTostring
Declares the DCAT-US 1.1 schema, so a generic DCAT parser can consume it.
datasetarray
Every published dataset as a `dcat:Dataset` entry.
dataset[].identifierstring
An arcgis.com item URL, often with a `sublayer` fragment identifying a specific layer.
dataset[].title / descriptionstring
Title, and a description containing raw HTML markup that needs sanitising before display.
dataset[].landingPagestring
Human-facing page on opendata.dc.gov.
dataset[].distributionarray
Download and service URLs with media types — typically CSV, GeoJSON, shapefile and a live ArcGIS feature service.
dataset[].publisherobject
Publishing agency, nested under the District's own organisation entry.
dataset[].license / accessLevelstring
Licence URL and whether the dataset is `public`.

What you can build with the Open Data DC API

  • Mirror the whole DC catalogue into your own search index
  • Find GeoJSON and shapefile download URLs for city GIS layers
  • Diff the feed between runs to detect new or withdrawn datasets
  • Feed a generic DCAT harvester that also reads federal agency feeds
  • Locate live ArcGIS feature services for spatial queries

Common errors and how to fix them

Timeout or out-of-memory

The feed is a single large document.

Fix: Stream-parse it, or fetch to disk first and process from there.

HTML rendering as text in your UI

Descriptions contain raw HTML.

Fix: Sanitise and render, or strip tags — do not escape and display the markup verbatim.

No search parameter works

It is a static feed, not a query API.

Fix: Index it locally, or use the ArcGIS Hub search API when you need server-side querying.

Distribution URL 404s

A layer was withdrawn between feed regenerations.

Fix: Re-fetch the feed and reconcile rather than caching distribution URLs indefinitely.

Open Data DC API — frequently asked questions

Does Open Data DC need an API key?

No. The DCAT feed is a public static document and the underlying ArcGIS feature services are open too, so nothing needs authenticating.

What is DCAT-US 1.1?

The US federal open data catalogue schema defined by Project Open Data. Hundreds of American agencies and cities publish the same JSON shape, so a parser written for DC's feed will work against most of them with no changes.

Can I query a single DC dataset directly?

Yes — the `distribution` array usually includes an ArcGIS feature service URL, which supports spatial and attribute queries with `where` and `geometry` parameters. The feed is how you find that URL.

How often does the catalogue change?

New layers and updates appear regularly. Fetch the feed on a daily schedule and diff it against your last copy; there is no incremental or change-only endpoint.

Tools that pair with this API

Open Data DC is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.