govdir

GovDir API

The GovDir directory as JSON: which government covers a place, which office handles each job, official links with their last check date, plain-language guides, and screening facts for a point. Free to use, no key needed to start.

API reference Changelog

Using an AI assistant such as Claude or ChatGPT? Connect it to the GovDir MCP server instead.

What it gives you

Quickstart

Base URL https://api.govdir.com/v1. Every response is JSON with data, sources, as_of, request_id and notices.

Who handles what at a point (longitude and latitude in WGS84):

curl 'https://api.govdir.com/v1/jurisdictions/resolve?lat=44.9778&lon=-93.2650'

The same for an address, or for a place name and state:

curl 'https://api.govdir.com/v1/jurisdictions/resolve?address=350+S+5th+St,+Minneapolis,+MN'
curl 'https://api.govdir.com/v1/jurisdictions/resolve?place=Two+Harbors&state=MN'

Official resources for a topic, best first:

curl 'https://api.govdir.com/v1/resources?jurisdiction_id=county:27053&topic=parcel_map'

A place's full directory, the topic list, a guide with a state's rules, point screening and a name search:

curl 'https://api.govdir.com/v1/places/county:27053'
curl 'https://api.govdir.com/v1/topics'
curl 'https://api.govdir.com/v1/guides/assessor?state=IN'
curl 'https://api.govdir.com/v1/screening?lat=45.1&lon=-93.4'
curl 'https://api.govdir.com/v1/search?q=web+soil+survey'

County-wide parcel answers from PublicGIS, such as the biggest or most valuable parcels in a county:

curl 'https://api.govdir.com/v1/county-data?q=biggest+property+in+Aitkin+County,+MN'

The REST API has no endpoint for one property. Facts about a single parcel (parcel number, acreage, value, last sale) are available only through the MCP server tool get_property_facts.

The machine-readable description is openapi.json (OpenAPI 3.1), also at https://api.govdir.com/v1/openapi.json.

Keys

You can use the API without a key. A key raises your limits and page sizes; it never changes what a result holds or its order. Send it from your server:

curl -H 'Authorization: Bearer YOUR_KEY' 'https://api.govdir.com/v1/topics'

Keep keys off web pages. Browsers can call the API without a key from any site; the browser preflight does not allow the Authorization header.

Self-service keys are not open yet. Until then, the limits without a key apply to everyone.

Limits

CallerPer minutePer day
No key, per network address (an IPv6 /64 counts as one)10300
No key, all callers together30600
No key, per network address, place and resource lists530
No key, all callers together, place and resource lists (also the MCP server)10100
Standard key12020,000
Partner key600200,000

Every response carries the IETF RateLimit-Policy and RateLimit headers, for example "minute";r=29;t=41: 29 requests left, reset in 41 seconds. Over a limit, the API answers 429 with Retry-After in seconds. Address lookups and screening also share a limit on new outside lookups.

Paging and caching

Errors

Errors are RFC 9457 application/problem+json with type, title, status, detail and request_id. The type is stable; match on it, not on the text.

TypeStatusMeaning
https://www.govdir.com/problems/bad-parameter400A query parameter is missing, has the wrong form, or is out of range.
https://www.govdir.com/problems/bad-point400lat and lon are missing, or are not WGS84 decimal degrees.
https://www.govdir.com/problems/bad-cursor400The cursor was not issued by this endpoint for the same other parameters.
https://www.govdir.com/problems/unknown-topic400, 404The topic is not in the vocabulary at /v1/topics.
https://www.govdir.com/problems/unknown-state400The state code is not a state, DC or territory GovDir covers.
https://www.govdir.com/problems/invalid-key401The Authorization header is malformed, or the key is unknown or revoked.
https://www.govdir.com/problems/unknown-jurisdiction404No GovDir place has this jurisdiction_id.
https://www.govdir.com/problems/outside-coverage404The point is not inside a state or territory GovDir covers.
https://www.govdir.com/problems/address-not-found404No address matched.
https://www.govdir.com/problems/place-not-found404No county, city, town or township with that name in that state.
https://www.govdir.com/problems/not-found404There is no endpoint at this path.
https://www.govdir.com/problems/method-not-allowed405Only GET, HEAD and OPTIONS are answered.
https://www.govdir.com/problems/ambiguous409Several candidates match. The problem lists them in choices: resolve again with the lat and lon of an address choice, or with the jurisdiction_id of a place choice.
https://www.govdir.com/problems/rate-limited429A minute or day limit is used up. Wait the number of seconds in Retry-After.
https://www.govdir.com/problems/lookup-limit429The limit for new outside lookups (addresses and screening) is used up. Wait the number of seconds in Retry-After.
https://www.govdir.com/problems/internal-error500GovDir could not finish the request.
https://www.govdir.com/problems/busy503The same lookup is already running, or GovDir is busy. Retry after a few seconds.
https://www.govdir.com/problems/upstream-unavailable503An outside service GovDir needs, such as the address geocoder or the parcel database, did not answer.

Using the data

Versions and deprecation

This is version 1, under /v1. GovDir adds fields, topics and endpoints without notice, so ignore what you do not recognize. Nothing is removed or changed in meaning without at least 12 months' notice: the change is announced on the changelog, and the affected responses carry Deprecation and Sunset headers for the whole period. A breaking change gets a new version path.

Terms

The API Terms are being written. Until they are published, please follow the points under Using the data.

For AI agents

A short description for language models is at /llms.txt.