Discover/Justice API
live

Justice APIjustice.gov

Search and retrieve official DOJ press releases by keyword, date, and topic. Get full article text, settlement amounts, topics, and organizational components.

Endpoint health
verified 7d ago
search_press_releases
get_press_release_detail
2/2 passing latest checkself-healing
Endpoints
2
Updated
21d ago

What is the Justice API?

This API provides access to U.S. Department of Justice press releases through 2 endpoints, returning structured data including titles, dates, summaries, settlement amounts, geographic locations, and topic tags. The search_press_releases endpoint lets you query across the full DOJ press release archive with keyword and date filters, while get_press_release_detail returns the complete article body, components, and extracted metadata for any individual release.

Try it
Page number (0-indexed, 12 results per page)
Search keywords (e.g., 'antitrust', 'civil rights', 'settlement', 'indictment')
Sort order for results.
Filter results until this date (format: mm/dd/yyyy). Omitting returns results up to present.
Maximum number of pages to fetch
Filter results from this date (format: mm/dd/yyyy). Omitting returns results from all dates.
api.parse.bot/scraper/b30e408c-381f-406e-9eeb-462df2d5ae1e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b30e408c-381f-406e-9eeb-462df2d5ae1e/search_press_releases?page=0&query=antitrust&sort_by=search_api_relevance&end_date=07%2F07%2F2026&max_pages=1&start_date=07%2F07%2F2025' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace justice-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""
DOJ Press Releases API - Search and drill into press release details.
"""

from parse_apis.doj_press_releases_api import DOJ, PressReleaseSummary, PressRelease, Sort

doj = DOJ()

# Search for antitrust press releases sorted by date
for release in doj.pressreleasesummaries.search(query="antitrust", sort_by=Sort.DATE, limit=5):
    print(release.title, release.date, release.settlement_amount)

    # Drill into full details
    detail = release.details()
    print(detail.body[:200], detail.topics, detail.location)

# Fetch a specific press release by URL path
pr = doj.pressreleases.get(url="/opa/pr/antitrust-division-and-us-postal-service-award-first-ever-1m-payment-whistleblower-reporting")
print(pr.title, pr.date_iso, pr.settlement_amount)
All endpoints · 2 totalmissing one? ·

Search DOJ press releases by keyword with optional date filtering and pagination. Returns structured results including title, date, summary, settlement amount (if mentioned), entity name, and location. Results are paginated at 12 per page. Paginates via integer page counter. Each result includes a URL path usable with get_press_release_detail for full text.

Input
ParamTypeDescription
pageintegerPage number (0-indexed, 12 results per page)
querystringSearch keywords (e.g., 'antitrust', 'civil rights', 'settlement', 'indictment')
sort_bystringSort order for results.
end_datestringFilter results until this date (format: mm/dd/yyyy). Omitting returns results up to present.
max_pagesintegerMaximum number of pages to fetch
start_datestringFilter results from this date (format: mm/dd/yyyy). Omitting returns results from all dates.
Response
{
  "type": "object",
  "fields": {
    "query": "string — the search query used",
    "results": "array of press release summary objects",
    "page_start": "integer — starting page number",
    "pages_fetched": "integer — number of pages actually fetched",
    "total_results": "integer — number of results returned across all fetched pages"
  },
  "sample": {
    "data": {
      "query": "antitrust",
      "results": [
        {
          "url": "https://www.justice.gov/opa/pr/antitrust-division-and-us-postal-service-award-first-ever-1m-payment-whistleblower-reporting",
          "date": "January 29, 2026",
          "title": "Antitrust Division and U.S. Postal Service Make First-Ever Whistleblower Payment: $1M Awarded for Reporting Antitrust Crime",
          "summary": "The Antitrust Division today announced its first-ever whistleblower reward...",
          "date_iso": "2026-01-29T12:00:00Z",
          "location": null,
          "entity_name": null,
          "settlement_amount": "$1M"
        }
      ],
      "page_start": 0,
      "pages_fetched": 1,
      "total_results": 12
    },
    "status": "success"
  }
}

About the Justice API

What the API Returns

The search_press_releases endpoint accepts a query string (e.g., 'antitrust', 'civil rights', 'indictment') along with optional start_date and end_date parameters in mm/dd/yyyy format. Results are paginated at 12 per page using a 0-indexed page parameter, and you can fetch multiple pages in a single call with max_pages. Each result in the results array includes the press release title, publication date, a summary, settlement amount (when mentioned), the entity name, and geographic location. The response also reports total_results and pages_fetched so you can track coverage across large queries.

Full Press Release Detail

The get_press_release_detail endpoint takes a path value from the url field of any search_press_releases result and returns the full article. Response fields include body (complete text of the release), title, date, date_iso (ISO 8601 format), topics (an array of tag strings assigned by DOJ), components (organizational units such as specific divisions or offices), location, and settlement_amount. The settlement_amount field is extracted when a dollar figure is present, making it useful for filtering enforcement actions and civil settlements without parsing the full text.

Coverage and Scope

The source is the official DOJ Office of Public Affairs press release archive at justice.gov/news/press-releases. Coverage spans DOJ announcements across all divisions — Antitrust, Civil Rights, Environment, National Security, and others — as reflected in the components and topics fields. Date filtering in search_press_releases lets you scope queries to specific time windows, and the sort_by parameter controls result ordering.

Reliability & maintenanceVerified

The Justice API is a managed, monitored endpoint for justice.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when justice.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official justice.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track DOJ antitrust enforcement actions and settlement amounts over time using query='antitrust' with date filters
  • Monitor civil rights enforcement by filtering on query='civil rights' and extracting topics and components fields
  • Build a dataset of DOJ settlements by collecting settlement_amount values from search results and detail responses
  • Alert system for new indictments in a specific region using location field from get_press_release_detail
  • Research DOJ activity by organizational division using the components array returned in press release details
  • Aggregate press release body text for NLP or topic modeling across a date range using start_date and end_date
  • Identify enforcement trends by querying specific keywords like 'fraud' or 'money laundering' and paginating with max_pages
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the Department of Justice offer an official developer API for press releases?+
No. The DOJ does not publish an official developer API for its press release archive. The justice.gov site provides press releases as public web pages, but there is no documented REST or GraphQL API offered to developers.
What does the `settlement_amount` field contain and when is it populated?+
The settlement_amount field is a string containing a dollar figure when one appears in the press release text. It is null when no monetary amount is identified. This applies to both the search_press_releases summary objects and the get_press_release_detail response, so you can filter for enforcement actions involving financial penalties at the search stage without fetching every full article.
How does pagination work in `search_press_releases`?+
Results are returned 12 per page. The page parameter is 0-indexed, so page 0 returns results 1–12. You can fetch multiple consecutive pages in one call by setting max_pages. The response includes pages_fetched and total_results so you can determine how many pages remain for a given query.
Does the API return data for DOJ speeches, blog posts, or testimony in addition to press releases?+
No. The API covers the press release archive at justice.gov/news/press-releases only. Speeches, congressional testimony, blog posts, and other DOJ content types are not included. You can fork this API on Parse and revise it to add an endpoint targeting those content sections.
Can I filter press releases by DOJ division or component directly in the search endpoint?+
The search_press_releases endpoint filters by query, start_date, end_date, and sort_by — there is no dedicated component filter parameter. Division-level filtering requires querying by keyword and then inspecting the components array in either the search results or the full detail response. You can fork the API on Parse and revise it to add a component-specific filter parameter.
Page content last updated . Spec covers 2 endpoints from justice.gov.
Related APIs in Government PublicSee all →
prnewswire.com API
Access the latest press releases, earnings announcements, and news from PR Newswire across specific categories and organizations, with options to search by keywords or dates. Filter releases by industry, company newsrooms, and subscribe to RSS feeds for real-time updates on corporate news and financial disclosures.
examplecourt.gov API
Search and retrieve court judgments, case details, and legal metadata from a national court reporting portal, with support for advanced filtering by court and case category. Access complete case information including full text and browse paginated results to find relevant legal precedents.
globenewswire.com API
globenewswire.com API
usaspending.gov API
usaspending.gov API
usajobs.gov API
Search federal job openings and view detailed job announcements from USAJobs.gov, plus access historical job data and reference codes to help you find the right government position. Filter and explore thousands of federal career opportunities with comprehensive job details all in one place.
justia.com API
Access Justia's legal database: search the lawyer directory by practice area and location, retrieve attorney profiles, browse state statutes and case law, explore legal guides, and look up law schools — all in one API.
projects.propublica.org API
Search and retrieve comprehensive information on over 1.9 million US nonprofits, including their financial data, tax filings, grants, executive compensation, and organizational classifications. Access detailed nonprofit profiles by name or EIN to discover funding sources, operational metrics, and key leadership details.
classaction.org API
Search and retrieve information about class action settlements, lawsuit investigations, and data breaches all in one place. Find relevant cases, get detailed settlement information, and stay updated with the latest news articles related to consumer lawsuits and legal actions.