Endpoints
/v1/companies/federal-awards
https://secfeedapi.com/v1/companies/federal-awardsFederal awards of a listed company by ticker or CIK, including subsidiaries and joint ventures, with the matched parent recipient.
| Parameter | Type | Description | Example |
|---|---|---|---|
ticker | string | Ticker, or use cik. | LMT |
cik | string | CIK instead of a ticker. | |
type | string | contracts, idvs, grants, loans, direct or other. Default contracts. | |
naics | string | NAICS codes. | |
psc | string | Product or service codes. | |
agency | string | Awarding agency, exact top-tier name. | |
state | string | Place of performance state codes. | |
startDate | string | YYYY-MM-DD. | 2026-01-01 |
endDate | string | YYYY-MM-DD. | |
sort | string | amount, startDate or endDate. Default amount. | |
order | string | asc or desc. | |
from | integer | Offset, multiple of size. | |
size | integer | 1 to 100. Default 20. |
- Matches are cached for 30 days.
- Award rows have the same shape as /v1/usaspending/awards.
Request examples
Every response below is real output from the API, trimmed to the first records.
Lockheed Martin's largest awards
The ticker resolves to the LOCKHEED MARTIN CORP parent recipient; method shows how.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=LMT&size=2"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/companies/federal-awards",
params={'ticker': 'LMT', 'size': '2'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
timeout=60,
)
r.raise_for_status()
print(r.json()){
"company": {
"cik": 936468,
"ticker": "LMT",
"name": "LOCKHEED MARTIN CORP"
},
"recipient": {
"id": "b97d19b0-833c-8d8f-3a2c-157d04ea55ef-P",
"name": "LOCKHEED MARTIN CORP",
"uei": "ZFN2JJXBLZT3",
"level": "P",
"last12MonthsAmount": 50503831944.41
},
"method": "exact_normalized_name",
"awards": [
{
"awardId": "DEAC0494AL85000",
"id": "CONT_AWD_DEAC0494AL85000_8900_-NONE-_-NONE-",
"type": "contracts",
"awardType": "DEFINITIVE CONTRACT",
"recipientName": "LOCKHEED MARTIN CORP",
"recipientUei": "FYHNA5WC8XD7",
"recipientId": "6e7a895c-aa57-8600-2a8a-4e237f6213f6-C",
"amount": 48063737196.35,
"outlays": -4166130.71,
"subsidyCost": null,
"awardingAgency": "Department of Energy",
"awardingSubAgency": "Department of Energy",
"startDate": "1993-10-15",
"endDate": "2017-04-30",
"naics": {
"code": "561210",
"description": "FACILITIES SUPPORT SERVICES"
},
"psc": {
"code": "M181",
"description": "OPER OF GOVT R&D GOCO FACILITIES"
},
"cfdaNumber": null,
"placeOfPerformanceState": "NM",
"description": null,
"secCompany": {
"cik": 936468,
"ticker": "LMT",
"name": "LOCKHEED MARTIN CORP"
}
},
{
"awardId": "N0001917C0001",
"id": "CONT_AWD_N0001917C0001_9700_-NONE-_-NONE-",
"type": "contracts",
"awardType": "DEFINITIVE CONTRACT",
"recipientName": "LOCKHEED MARTIN CORPORATION",
"recipientUei": "G4KDGE4JFFK7",
"recipientId": "6cf5fb1b-4988-d087-5dc1-70939d8fc6c4-C",
"amount": 35135514910.2,
"outlays": 933036846.29,
"subsidyCost": null,
"awardingAgency": "Department of Defense",
"awardingSubAgency": "Department of the Navy",
...Booz Allen this fiscal year, by date
Includes awards to subsidiaries under the parent.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=BAH&startDate=2025-10-01&sort=startDate&size=2"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/companies/federal-awards",
params={'ticker': 'BAH', 'startDate': '2025-10-01', 'sort': 'startDate', 'size': '2'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
timeout=60,
)
r.raise_for_status()
print(r.json()){
"company": {
"cik": 1443646,
"ticker": "BAH",
"name": "Booz Allen Hamilton Holding Corp"
},
"recipient": {
"id": "ed02855e-60d7-2540-e3d7-18fba1dd1316-P",
"name": "BOOZ ALLEN HAMILTON HOLDING CORPORATION",
"uei": "MBPHTU7Y9S65",
"level": "P",
"last12MonthsAmount": 6725337292.72
},
"method": "exact_normalized_name",
"awards": [
{
"awardId": "1305M226F0401",
"id": "CONT_AWD_1305M226F0401_1330_1305M226A0005_1330",
"type": "contracts",
"awardType": "BPA CALL",
"recipientName": "BOOZ ALLEN HAMILTON INC",
"recipientUei": "JCBMLGPE6Z71",
"recipientId": "ffca72e5-fba2-798a-6969-2a6c45e9f985-C",
"amount": 14130377.43,
"outlays": null,
"subsidyCost": null,
"awardingAgency": "Department of Commerce",
"awardingSubAgency": "National Oceanic and Atmospheric Administration",
"startDate": "2027-02-01",
"endDate": "2027-10-31",
"naics": {
"code": "541511",
"description": "CUSTOM COMPUTER PROGRAMMING SERVICES"
},
"psc": {
"code": "DF01",
"description": "IT AND TELECOM - IT MANAGEMENT SUPPORT SERVICES (LABOR)"
},
"cfdaNumber": null,
"placeOfPerformanceState": "VA",
"description": "CENTRALIZED INTEGRATED REAL-TIME REPOSITORY FOR UNIFIED SERVICES (CIRRUS) PHASE 2 CAPABILITIES. THIS EFFORT SUPPORTS THE NOAA/NWS BY ADVANCING THE MIGRATION AND DEPLOYMENT OF OPERATIONAL WEATHER APPLICATION CAPABILITIES FROM LEGACY AWIPS ENVIRONMENTS",
"secCompany": {
"cik": 1443646,
"ticker": "BAH",
"name": "Booz Allen Hamilton Holding Corp"
}
},
{
"awardId": "47QFMA27F0001",
"id": "CONT_AWD_47QFMA27F0001_4732_47QRCA25DU052_4732",
"type": "contracts",
"awardType": "DELIVERY ORDER",
"recipientName": "BOOZ ALLEN HAMILTON INC",
"recipientUei": "JCBMLGPE6Z71",
"recipientId": "ffca72e5-fba2-798a-6969-2a6c45e9f985-C",
"amount": 222000.0,
"outlays": null,
"subsidyCost": null,
"awardingAgency": "General Services Administration",
"awardingSubAgency": "Federal Acquisition Service",
...A company with no exact match
recipient is null and candidates lists names to check by hand.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=AAPL&size=2"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/companies/federal-awards",
params={'ticker': 'AAPL', 'size': '2'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
timeout=60,
)
r.raise_for_status()
print(r.json()){
"company": {
"cik": 320193,
"ticker": "AAPL",
"name": "Apple Inc."
},
"recipient": null,
"method": null,
"awards": [],
"hasNext": false,
"candidates": [
{
"id": "f6912e36-6cca-1f27-b7de-3d9631b48ec0-P",
"name": "CITY OF APPLETON",
"uei": "WLT8QFB9NFZ3",
"level": "P",
"last12MonthsAmount": 27414264.0
},
{
"id": "4b10ad74-6c2f-d6c9-2d12-77564734e1fb-P",
"name": "APPLEDORE MARINE ENGINEERING, LLC",
"uei": "QGMDLA2YJ9C4",
"level": "P",
"last12MonthsAmount": 12972126.95
}
],
"note": "No USAspending parent recipient has exactly this company's name. Candidates are listed; query /v1/usaspending/awards?uei=<uei> with the right one."
}Response fields
| Field | Type | Meaning |
|---|---|---|
company.cik, ticker, name | mixed | The listed company. |
recipient.id, name, uei, level, last12MonthsAmount | mixed | The matched USAspending parent, or null. |
method | string | exact_normalized_name, or null when nothing matched. |
awards[] | array | Award rows, see the Federal Awards API for every field. |
awards[].secCompany | object | Listed company behind each row's recipient. |
hasNext, source | mixed | Paging and source. |
candidates[].id, name, uei, level, last12MonthsAmount | mixed | Only when there is no exact match. |
note | string | Only when there is no exact match. |
How to
How do I look up by CIK instead of ticker?
Pass cik.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?cik=936468&size=2"
How do I see only one agency's awards to a company?
Add agency with the exact top-tier name.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=LMT&agency=Department%2520of%2520Defense&size=2"
How do I get grants or loans for a company?
Set type.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=BA&type=idvs&size=2"
How do I get the newest awards?
Sort by startDate with a recent startDate filter.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=GD&startDate=2026-09-01&sort=startDate&size=2"
How do I check the match before trusting the numbers?
Read recipient and method. recipient.uei can be checked on USAspending directly.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=NOC&size=1"
What do I do when there is no match?
Pick the right recipient from candidates and query /v1/usaspending/awards with its uei.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=AAPL&size=1"
How do I narrow to one industry?
Add naics.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=LDOS&naics=541512&size=2"
How do I page through a company's awards?
Use size and from in multiples of size until hasNext is false.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/companies/federal-awards?ticker=RTX&size=2&from=2"
Errors
- 400 without ticker or cik, or for an unknown ticker.
- 404 for companies SecFeed does not cover.
See also the error codes every endpoint shares.
Try it with your own key
Free key, no card needed.