Federal Awards to Ticker Mini
Pricing
from $1.00 / 1,000 records
Federal Awards to Ticker Mini
Map US federal contract awards to the listed company that books the revenue: ticker, listed name, award value, agency, and the stated basis and confidence for every match. Export data, run via API, schedule and monitor runs, or integrate with other tools.
Pricing
from $1.00 / 1,000 records
Rating
5.0
(1)
Developer
Public Money
Maintained by ApifyActor stats
0
Bookmarked
3
Total users
2
Monthly active users
21 hours ago
Last modified
Categories
Share
Federal award data names the entity that signed, not the company whose revenue line it lands on, so a subsidiary award never joins to a ticker. This Actor maps awards to the listed parent and, crucially, states why: matchBasis names the reason and matchConfidence grades it, and an award it cannot map is kept rather than quietly dropped.
What it does
- States the basis for every match in
matchBasisand grades it inmatchConfidence, so a mapping is auditable rather than asserted. - Keeps the unmatched. An award it cannot map to a listed company still comes back, so you can see the coverage instead of assuming it.
- Two modes. Awards returns one record per award, rollup totals by ticker with
awardCountand the agencies involved. - Covers six award types: contracts, grants, IDVs, loans, direct payments and other.
- Carries the awarding agency on every record, which is what turns a total into a story about who is buying.
- Filterable by keyword, so a run can be scoped to one programme rather than the whole feed.
Use cases
| You need to | How this Actor does it |
|---|---|
| Size a company's federal revenue | Use rollup mode and read value against awardCount |
| Audit a mapping before you trust it | Read matchBasis and matchConfidence on each award |
| See coverage honestly | Leave Matched only off and count how many awards mapped |
| Find who a programme pays | Set a keyword and group by tickerSymbol |
| Track an agency's spend | Group by awardingAgency |
| Feed a trading agent | Call the Actor over MCP and let the model ask for what it needs |
Quick start
- Click Try for free.
- Leave Mode on
awardsfor one record per award, or switch it torollupfor totals per ticker. - Pick the Award types you want: contracts, grants, IDVs, loans, direct payments or other.
- Set Awards to read, and turn on Matched only if the unmapped awards are noise for you.
- Click Start. Rows appear within seconds.
- Export as JSON, CSV, Excel or XML, or read the dataset over the API.
Input
| Field | Type | Default | What it controls |
|---|---|---|---|
mode | string | awards | awards returns a record per award, rollup totals by ticker |
awardTypes | string | contracts | Which award type to read |
keyword | string | empty | Scopes the run to awards matching this term |
awardsToRead | integer | 100 | How many awards to read before mapping |
matchedOnly | boolean | false | Drops the awards that could not be mapped to a listed company |
maxItems | integer | 0 | Caps how many records are returned |
{"mode": "awards","awardTypes": "contracts","awardsToRead": 100,"matchedOnly": false}
Output
One dataset item per award in awards mode, one per ticker in rollup mode. An award with no listed parent comes back with the mapping fields empty rather than being dropped, so coverage is visible.
| Field group | Fields |
|---|---|
| Mapping | status, tickerSymbol, listedName, matchBasis, matchConfidence |
| Award | recipientName, value, awardingAgency, startDate, url |
| Rollup mode | awardCount, agencies, awardsRead |
{"status": "ok","tickerSymbol": "LMT","listedName": "Lockheed Martin Corporation","recipientName": "LOCKHEED MARTIN AERONAUTICS COMPANY","matchBasis": "subsidiary name match","matchConfidence": "high","value": 184220500.0,"awardingAgency": "Department of Defense","startDate": "2026-07-14","url": "https://www.usaspending.gov/award/CONT_AWD_0184"}
Integrations
Run it over the API and get the rows back in one call:
curl -X POST "https://api.apify.com/v2/acts/publicmoney~awards-ticker-mini/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "awards", "awardTypes": "contracts", "awardsToRead": 100, "matchedOnly": false}'
From Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("publicmoney/awards-ticker-mini").call(run_input={"mode": "awards", "awardTypes": "contracts", "awardsToRead": 100, "matchedOnly": false})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["tickerSymbol"], item["value"])
Give an AI agent the Actor over MCP:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=publicmoney/awards-ticker-mini"}}}
Schedules run it on any cron, webhooks fire when a run finishes, and platform integrations push the dataset to Google Sheets, Slack, Airtable, Zapier or your own endpoint.
Cost
Pay per event, so you pay for records rather than compute time.
| Event | Free tier | Top volume tier |
|---|---|---|
| Award record | $0.01 | $0.004 |
| Actor start | $0.00005 per GB | Same |
Two things are charged. The award record above is this Actor's own event. On top of that it runs the USAspending Actor as a child run on your account, which charges its own per-record price and will not appear in this Actor's usage total. Awards to read is the lever. A record that returned no data is never charged.
Troubleshooting
| Issue | Solution |
|---|---|
| Most awards have no ticker | Most federal recipients are not listed companies. That is the real coverage, which is why unmatched awards are kept rather than hidden. |
| A mapping looks wrong | Read matchBasis. It names the reason, so you can reject the ones whose basis you do not accept, and matchConfidence grades it. |
| Rollup totals differ from a company's reported revenue | They should. This is federal award value, not booked revenue, and the timing and the entity boundary both differ. |
| The run costs more than the record price suggests | The USAspending child Actor charges its own per-record price on your account, outside this Actor's usage total. |
| Fewer records than Awards to read | The cap applies to awards read before mapping, and Matched only then drops the unmapped ones. |
FAQ
Why do federal awards not already carry a ticker?
Because the award names the entity that signed the contract, which is usually a subsidiary or a division. Joining that to a listed parent is the work, and it is the reason this Actor exists.
How do I know a mapping is right?
You read matchBasis, which names why the match was made, and matchConfidence, which grades it. Nothing is asserted without a stated reason.
Why keep the awards that did not map?
Because dropping them hides the coverage. An answer that silently covers 30 percent of the feed looks the same as one that covers 90, and you would have no way to tell.
Is this the same as a company's reported revenue?
No. It is federal award value, which differs from booked revenue in timing, in entity boundary and in whether the award is ever fully exercised.
Why is it priced above the single-source Actors?
One record fans out into a child run against the USAspending Actor, which charges its own per-record price on your account.
Do I need a USAspending API key?
No. You need an Apify token to call the Actor over the API. No USAspending credential is involved anywhere.
Can I get this data in Python?
Yes, with the apify-client package as shown above. It returns parsed JSON, so there is no HTML or response handling on your side.
Can I get the data into Excel or Google Sheets?
Yes. Export the dataset as XLSX or CSV, or connect the Google Sheets integration so each run appends to a sheet.
Can an AI agent call this Actor?
Yes. Add it to an MCP client with the config above and the model can request what it needs on its own. Every record is flat JSON with named fields, so no post-processing is needed.
Is it legal to scrape USAspending?
This Actor reads public USAspending data that needs no login and collects no personal data. Scraping public data is generally lawful, and how you store, redistribute or act on market data is governed by your own agreements and local rules. Take your own legal advice for your use case.
Changelog
- 0.0.1 First release. Awards and rollup modes with stated match basis.
Feedback
Found a field USAspending publishes that this Actor misses, or an input it rejects? Open an issue on the Issues tab with the input and what you expected. A daily test runs every Actor in the fleet against live sources, so parser fixes ship fast.