Skip to main content
Glama

Pentagon / DoD Contract Awards API: winners, amounts, tickers

dod_contract_awards
Read-onlyIdempotent

Get every US Department of Defense contract award of $7.5M or more, the same evening it is announced, plus the full history since FY2008: who won, how much, which service (Army, Navy, Air Force, DLA, Missile Defense Agency, ...), and the winner's US stock ticker with its SEC-reported shares outstanding. History rows add the parent company and NAICS/PSC codes. Switch the history to any other federal agency, or all of them, with one input. For defense-sector investors, government sales teams and AI agents.

Price: $0.005 per award.

Input Schema

NameRequiredDescriptionDefault
dateToNoLatest action (signing) date, YYYY-MM-DD, e.g. "2019-12-31"
sourceNo"both" (default) = the Pentagon's same-evening contract listboth
tickersNoOnly awards matched to these US-listed tickers (NYSE, Nasdaq, CBOE), e.g. ["LMT", "KTOS", "AVAV"]
agenciesNoTop-tier awarding agency names as USAspending spells them, e.g. ["Department of Defense"], ["Department of Homeland Security"], ["National Aeronautics and Space Administration"]
dateFromNoEarliest action (signing) date, or announcement date for same-evening list rows, YYYY-MM-DD, e.g. "2019-01-01"
pscCodesNoProduct and Service Codes, e.g. ["1410"] (guided missiles), ["R425"] (engineering support)
maxResultsNoMaximum award rows, newest signing dates first, then largest amounts, e.g. 20
naicsCodesNoNAICS industry codes, 2 to 6 digits, e.g. ["336414"] (guided missiles and space vehicles) or ["3364"]
recipientsNoWinning company search terms, matched by USAspending against recipient and parent names, e.g. ["kratos", "huntington ingalls"]
matchTickersNotrue (default) = match the recipient or its parent company to a US-listed ticker by exact cleaned name (SEC company list) and add the SEC-reported shares outstanding
minAmountUsdNoMinimum summed obligations per award and day, in USD, e.g. 1000000

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, so the description earns credit for adding beyond them: same-evening freshness for the daily list, full history since FY2008, extra fields on history rows (parent company, NAICS/PSC), ticker matching against the SEC company list, and an explicit price of $0.005 per award. It stops short of covering rate limits, auth, or pagination behavior beyond the maxResults cap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core scope and payload are front-loaded in the first sentence, with the agency-switching caveat and pricing following logically. The audience-targeting sentence and the price line are somewhat promotional but carry real selection information, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, no-output-schema tool, the description covers the returned entities well enough (winner, amount, service, ticker, shares outstanding, plus parent company and NAICS/PSC on history rows) that an agent knows what to expect. The remaining gap is the lack of explicit differentiation from the closely related us_federal_awards sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 11 parameters already document themselves, which sets the baseline at 3. The description adds only marginal meaning, notably that the default scope is the $7.5M floor implied by minAmountUsd and that agencies can be repointed outside DoD; it does not explain how source values 'dailyList' vs 'history' vs 'both' differ in practice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Get every US Department of Defense contract award of $7.5M or more') plus the payload ('who won, how much, which service ... and the winner's US stock ticker'). It does not name the obvious overlapping sibling, us_federal_awards, so the agent gets no explicit signal for how to tell them apart despite the description hinting the same endpoint can span other agencies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied through the audience framing ('For defense-sector investors, government sales teams and AI agents') and the note that the history can be switched to any other federal agency 'with one input'. There is no explicit when-to-use versus us_federal_awards, no when-not, and no prerequisites for invoking it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.