Next free-source hunt
We check for new free data every weekday.
Datasets / OSINT
govinfo.gov/

U.S. GPO GovInfo API

Freeauth: free API keyCustom#osint#event-data#historical-data#risk✓ verified Nov 2, 2026

U.S. GPO GovInfo API

The U.S. Government Publishing Office provides JSON discovery and retrieval services for official federal publications and their metadata. Packages expose identifiers, titles, collection codes, issue and modification dates, document classes and links to available PDF, text, XML, MODS, PREMIS or ZIP content; a free API key is required.

Coverage

GovInfo spans official publications from the legislative, executive and judicial branches, organized into collections and self-describing packages. Discovery can filter by issue date or track additions and revisions by last-modified time; paged calls return at most 1,000 records.

Verdict

This API gives a document and policy-event signal across congressional, regulatory, presidential and court publications. Use issue date for the publication's stated date and last-modified time for GovInfo ingestion or later updates. Collection schemas and available file formats differ, and some generated ZIP requests can return HTTP 503 with a retry interval. Government works are generally public domain in the United States, but GovInfo warns that publications can contain separately copyrighted material.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load updated GovInfo Federal Register packages into Parquet. Checked against the provider's documentation on Nov 2, 2026.

Raw skill file (/skills/govinfo-api.md)Also in our MCP server: call get_ingestion_skill with {"slug": "govinfo-api"}.

Access

  • Create a free API.data.gov key through the GovInfo signup page.
  • Set GOVINFO_API_KEY in the environment; do not put the key in source code.

Request

bash
curl --get --data-urlencode 'offsetMark=*' --data-urlencode 'pageSize=100' --data-urlencode "api_key=$GOVINFO_API_KEY" 'https://api.govinfo.gov/collections/FR/2026-10-01T00:00:00Z'

Format

JSON package listings with packageId, title, docClass, dateIssued, lastModified, packageLink, count and cursor-style nextPage metadata.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""Recently updated GovInfo Federal Register packages -> pandas -> Parquet."""
import os
import requests
import pandas as pd

URL = "https://api.govinfo.gov/collections/FR/2026-10-01T00:00:00Z"
params = {
    "offsetMark": "*",
    "pageSize": 100,
    "api_key": os.environ["GOVINFO_API_KEY"],
}
response = requests.get(URL, params=params, timeout=60)
response.raise_for_status()
payload = response.json()
df = pd.json_normalize(payload["packages"])
for column in ["dateIssued", "lastModified"]:
    df[column] = pd.to_datetime(df[column], utc=True, errors="coerce")
df.to_parquet("govinfo_federal_register_updates.parquet", index=False)
print(len(df), "packages", df["lastModified"].min().isoformat(), "to",
      df["lastModified"].max().isoformat())

Not run: it needs a free API key.

Limits

  • Rate limit: 36,000 requests per hour, 1,200 requests per minute and 40 requests per second.
  • pageSize has a maximum of 1,000 records.
  • Start offsetMark with * and follow the nextPage cursor returned by the API.

Quirks

  • dateIssued is the publication's issue date; lastModified tracks when GovInfo added or updated the package.
  • Package and granule schemas vary by collection, and not every package exposes every download format.
  • Some ZIP files are generated on request and can return HTTP 503 with a Retry-After header.

Terms and attribution

  • U.S. government works are generally public domain within the United States, but publications can include protected third-party material.
  • The API project's CC0 licence applies to the project itself and is not treated here as a blanket licence for every publication exposed through GovInfo.

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer