Home / Developers / Government Contracts by Ticker API
API reference

Government Contracts by Ticker API

Get the federal awards of a listed company by ticker or CIK. SecFeed matches the company to its USAspending parent recipient by exact name after normalising legal suffixes, then pulls awards for the parent, which covers its subsidiaries and joint ventures. The response says which recipient matched; when nothing matches you get candidates, not a guess. Product overview →

Endpoints

/v1/companies/federal-awards

GEThttps://secfeedapi.com/v1/companies/federal-awards

Federal awards of a listed company by ticker or CIK, including subsidiaries and joint ventures, with the matched parent recipient.

ParameterTypeDescriptionExample
tickerstringTicker, or use cik.LMT
cikstringCIK instead of a ticker.
typestringcontracts, idvs, grants, loans, direct or other. Default contracts.
naicsstringNAICS codes.
pscstringProduct or service codes.
agencystringAwarding agency, exact top-tier name.
statestringPlace of performance state codes.
startDatestringYYYY-MM-DD.2026-01-01
endDatestringYYYY-MM-DD.
sortstringamount, startDate or endDate. Default amount.
orderstringasc or desc.
fromintegerOffset, multiple of size.
sizeinteger1 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

FieldTypeMeaning
company.cik, ticker, namemixedThe listed company.
recipient.id, name, uei, level, last12MonthsAmountmixedThe matched USAspending parent, or null.
methodstringexact_normalized_name, or null when nothing matched.
awards[]arrayAward rows, see the Federal Awards API for every field.
awards[].secCompanyobjectListed company behind each row's recipient.
hasNext, sourcemixedPaging and source.
candidates[].id, name, uei, level, last12MonthsAmountmixedOnly when there is no exact match.
notestringOnly 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.

Get free API key →