Discover/ODNI API
live

ODNI APIodni.gov ↗

Access JCAT page data via API: First Responder's Toolbox, guides, community partner organizations with geo coordinates, and JCAT mission overview.

Endpoint health
verified 3d ago
get_jcat_page_data
1/1 passing latest checkself-healing
Endpoints
1
Updated
2mo ago

What is the ODNI API?

The ODNI NCTC JCAT API exposes all content from the Joint Counterterrorism Assessment Team page in a single endpoint, get_jcat_page_data, returning 6 top-level response objects. These include the JCAT mission overview, three lines of effort, categorized First Responder's Toolbox items with featured entries and full item lists, guides and resources with contact details, fellowship program description, and a list of Community Impact partner organizations with geolocation data.

This call costs3 credits / call— charged only on success
Try it

No input parameters required.

→ api.parse.bot/scraper/ebfeadc7-f4ad-4935-82e1-3b84c6c13f4b/<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/ebfeadc7-f4ad-4935-82e1-3b84c6c13f4b/get_jcat_page_data' \
  -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 odni-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.

"""Walkthrough: ODNI JCAT page SDK — fetch and explore counterterrorism resources."""
from parse_apis.odni_gov_api import Jcat, ParseError

client = Jcat()

# Fetch the full JCAT page content in one call.
try:
    page = client.pages.get()
except ParseError as e:
    # Page structure may have changed; surface the wire error code.
    print(f"Extraction failed: {e.code}")
    raise

# Display the mission overview.
print(page.overview[:120])

# List the lines of effort.
for line in page.lines_of_effort:
    print(" -", line)

# Browse the First Responder's Toolbox categories and their featured items.
for category in page.toolbox:
    print(f"\n[{category.category}]")
    print(f"  Featured: {category.featured.title}")
    print(f"  URL: {category.featured.url}")
    # Show the first two items in this category.
    for item in category.items[:2]:
        print(f"    • {item.title}")

# Show guides and resources with available links.
for guide in page.guides_and_resources:
    label = guide.more_url if guide.more_url else "(no link)"
    print(f"{guide.title} -> {label}")

# Show a few Community Impact partner organizations.
for org in page.organizations[:3]:
    print(f"{org.name} ({org.state}) — {org.website}")

print("\nexercised: pages.get / Page / ToolboxCategory / FeaturedItem / ToolboxItem / Guide / Organization")
All endpoints · 1 totalmissing one? ·

Retrieves all content from the JCAT page in a single request. Returns the page overview, lines of effort, First Responder's Toolbox items organized by category (Threat Identification, Targets, Partnerships) with featured items and full item lists, Guides and Resources descriptions, Community Impact partner organizations with geographic data, and Fellowship Program information. Makes one HTTP request to the page and parses the static HTML plus embedded JavaScript data.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "toolbox": "array of toolbox categories, each with category name, featured item (title, url, description), and items array (title, url)",
    "overview": "JCAT mission description text",
    "organizations": "array of Community Impact partner organizations with name, state, latitude, longitude, logo_url, and website",
    "lines_of_effort": "array of JCAT's three main work areas",
    "fellowship_program": "description of the JCAT Fellowship Program",
    "guides_and_resources": "array of guide/resource entries with title, description, contact_email, and/or more_url"
  },
  "sample": {
    "data": {
      "toolbox": [
        {
          "items": [
            {
              "url": "https://www.odni.gov/download/14142/?tmstv=1787268374",
              "title": "Considerations for Clandestine Fentanyl Labs"
            },
            {
              "url": "https://www.odni.gov/download/13738/?tmstv=1782321665",
              "title": "Disruption of Huachicol Activities Requires Multidisciplinary Approach"
            }
          ],
          "category": "Threat Identification",
          "featured": {
            "url": "https://www.odni.gov/download/14142/?tmstv=1787268374",
            "title": "Considerations for Clandestine Fentanyl Labs",
            "description": "Provides response, recognition, and safety considerations for first responders on how to identify indicators of clandestine fentanyl labs."
          }
        }
      ],
      "overview": "NCTC's Joint Counterterrorism Assessment Team (JCAT) helps improve public safety by sharing counterterrorism information with federal, state, local, tribal, territorial, and private sector partners.",
      "organizations": [
        {
          "name": "City of Phoenix Fire Department, AZ",
          "state": "AZ",
          "website": "https://www.phoenix.gov/fire",
          "latitude": 33.463,
          "logo_url": "https://www.odni.gov/wp-content/uploads/City-of-Phoenix-Fire-Department_AZ.webp",
          "longitude": -112.08
        }
      ],
      "lines_of_effort": [
        "INTELLIGENCE PRODUCTION",
        "OUTREACH & EDUCATION",
        "SUPPORT"
      ],
      "fellowship_program": "JCAT's Federal Fellowship Program integrates state, local, tribal, and territorial first responders and public safety professionals into the Intelligence Community.",
      "guides_and_resources": [
        {
          "title": "HSIN, LEEP, RISS and TRIPWIRE",
          "more_url": "https://www.odni.gov/wp-content/uploads/JCAT-Accessing-CT-Info-NEW.pdf",
          "description": "The Homeland Security Information Network (HSIN)..."
        },
        {
          "title": "Counterterrorism Digest",
          "description": "An unclassified compendium of international and domestic news...",
          "contact_email": "[email protected]"
        }
      ]
    },
    "status": "success"
  }
}

About the ODNI API

What the API Returns

The single get_jcat_page_data endpoint returns all structured content from the ODNI NCTC Joint Counterterrorism Assessment Team page. The overview field contains the JCAT mission description text, and lines_of_effort provides an array of the three main work areas JCAT focuses on. The fellowship_program field describes the JCAT Fellowship Program offering.

First Responder's Toolbox

The toolbox response field is an array of categories — Threat Identification, Targets, and Partnerships — each containing a featured item (with title, url, and description) and an items array of additional resources (each with title and url). This makes it straightforward to display categorized toolbox content or build a filtered resource directory.

Guides, Resources, and Organizations

The guides_and_resources array returns each guide or resource entry with a title, description, optional contact_email, and optional more_url for further reading. The organizations array lists Community Impact partner organizations with name, state, latitude, longitude, logo_url, and website — enabling map-based displays or directory listings of JCAT's network of community partners across the United States.

No Parameters Required

get_jcat_page_data takes no input parameters. Every call returns the full page dataset in one response, covering all toolbox categories, all organizations, all guide entries, and all narrative sections simultaneously.

Reliability & maintenanceVerified

The ODNI API is a managed, monitored endpoint for odni.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when odni.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 odni.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
3d ago
Latest check
1/1 endpoint 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
  • Build a searchable First Responder's Toolbox directory organized by the three JCAT categories returned in the toolbox field.
  • Render a map of JCAT Community Impact partner organizations using the latitude, longitude, and state fields from the organizations array.
  • Aggregate JCAT guides and resources into an internal counterterrorism reference portal using the guides_and_resources entries.
  • Monitor changes to JCAT lines of effort or mission overview text over time by periodically calling get_jcat_page_data and diffing the lines_of_effort and overview fields.
  • Build a partner directory page listing community organizations with their logos and websites using the logo_url and website fields.
  • Surface JCAT fellowship program information in a government training or recruitment application using the fellowship_program field.
  • Populate contact directories for counterterrorism resource coordinators using contact_email values from the guides_and_resources array.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does ODNI provide an official developer API for JCAT content?+
ODNI does not publish an official public developer API for JCAT page content. The ODNI website (odni.gov) does not expose a documented REST or GraphQL API for programmatic access to JCAT resources, guides, or organization data.
What does the `toolbox` field in the response actually contain?+
The toolbox field is an array of objects, one per category (Threat Identification, Targets, Partnerships). Each object includes a featured item with a title, url, and description, plus an items array of additional resources with title and url. The featured item highlights a primary resource within that category.
Are individual JCAT reports or publications returned by this API?+
The API returns toolbox items and guides as title-and-URL references; it does not return the full text or PDF content of individual JCAT publications or intelligence reports. You can fork this API on Parse and revise it to add an endpoint that fetches and parses content from specific report URLs.
Does the organizations array cover all 50 states?+
The organizations array reflects the Community Impact partners listed on the JCAT page, which may not cover all 50 states. Coverage depends on which organizations JCAT lists as partners at the time of the request. The API does not support filtering by state directly, though the state field is present on each organization object. You can fork this API on Parse and revise it to add state-level filtering as a query parameter.
How frequently is the data updated?+
The API reflects the current state of the ODNI NCTC JCAT page at the time of the request. JCAT page content — including toolbox items, organizations, and guides — is updated by ODNI at their discretion and does not follow a published schedule. There is no built-in change-detection or historical versioning in the current endpoint.
Page content last updated . Spec covers 1 endpoint from odni.gov.
Related APIs in Government PublicSee all →
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.
naco.org API
Search and explore detailed U.S. county government information, including profiles, economic indicators, funding data, and research resources all in one place. Quickly access bulk county statistics and NACo insights to support planning, analysis, and decision-making at the local government level.
occrp.org API
Search and discover investigative journalism from OCCRP.org, including articles, investigations, and projects organized by section and region. Get the latest news updates and detailed information about specific investigations to stay informed on organized crime and corruption reporting.
api.nasa.gov API
Access NASA's suite of open data APIs — including the Astronomy Picture of the Day, Near Earth Object tracking, DONKI space weather events, EPIC Earth imagery, Mars weather, the NASA Image and Video Library, the Exoplanet Archive, and EONET natural events.
justice.gov API
Search and retrieve official U.S. Department of Justice press releases. Find information on DOJ announcements, enforcement actions, settlements, and legal proceedings across all topic areas. Access full press release details including case summaries, entities involved, and filing dates.
jstor.org API
Search and browse millions of academic articles, journals, and research issues from JSTOR's library, or retrieve specific articles and journal details to explore scholarly content by subject. Access peer-reviewed research across multiple disciplines to find the academic sources you need.
fbi.gov API
Search and retrieve profiles of individuals listed on the FBI's Most Wanted pages, including charges, physical descriptions, aliases, reward amounts, and photographs. Browse by category, search by name, or look up a specific person by ID.
alienvault.com API
Search and analyze global threat intelligence data including indicators of compromise, threat pulses, and adversary profiles from the Open Threat Exchange community. Monitor recent security alerts and access detailed information about threats and adversaries to strengthen your cybersecurity defenses.