$0.10 / answer
What an agency buys by NAICS and fiscal year: totals, counts, distinct contractors.
Run agency-buying-patterns on ApifyWhat it answers
What a federal agency actually buys: contract obligations from USAspending grouped by NAICS line and fiscal year, with totals in integer cents, award counts, and the number of distinct contractors serving each line. Filter by agency name prefix, NAICS code or prefix, or a single fiscal year, and read demand the way a market analyst would — which lines grow, which concentrate, and how crowded each is. Every row cites its primary source.
Ask it things like
- What does the Department of Energy buy under NAICS 5417?
- How many distinct contractors sold to an agency in FY2025, by NAICS line?
- Which NAICS lines grew at an agency year over year?
- How much did an agency obligate in engineering services last fiscal year?
What comes back
Every response is a receipt: the answer plus citations (the exact upstream query URL, independently re-runnable, with retrieved_at and the source's own as_of — two clocks, never collapsed), coverage caveats, matches declaring how any cross-source join was made, and a schema_version you can pin.
Input
| param | type | required | notes |
|---|---|---|---|
| agency | string | no | Awarding-agency name prefix. |
| naics | string | no | NAICS code or 2–6 digit prefix. |
| fiscal_year | integer | no | One U.S. fiscal year. |
| limit | integer 1–500 | no | Max rows; default 50. |
Pricing
$0.10 / answer — metered per served answer on the Apify platform. Invalid input is never charged.
Run it
1 · on Apify (the console)
The listing has worked examples, the input form, and per-run output.
Run agency-buying-patterns on Apify2 · via the Apify API
curl -X POST "https://api.apify.com/v2/acts/citature~agency-buying-patterns/run-sync-get-dataset-items?token=$APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"agency":"Department of Energy","naics":"5417","fiscal_year":2025}'3 · over MCP
The same answer serves as
agency_buyingon the citature MCP server.
guardrails & coverage
- Research over public-domain federal records — not legal, financial, or eligibility advice.
- citature reports what the record says. It never renders a compliance verdict, a screening pass/fail, or a recommendation.
- Entity-level records only (committees, candidates, recipients, agencies, contracts). No individual-person data.
- Coverage reflects the records in citature's dataset, not the full upstream history. The ingest runs nightly and advances each dataset when its source publishes.
- Every answer states its own coverage caveats in the receipt's `coverage` field.