---
title: "List federal contract awards"
method: GET
path: "/api/awards"
tags: ["Government contracts"]
---

# List federal contract awards

`GET /api/awards`

## Request

- Base URL: `https://noozra.com`
- URL: `https://noozra.com/api/awards`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/noozra/apis/noozra-news-api/docs/api/awards/get.ts> (a function with typed inputs; its response is checked against the schema)

Federal contract awards of $25,000 or more from USAspending.gov. Each item's `date` is the day the contract was awarded. Sort with `sort`; page by passing `next_cursor` back as `cursor`. `as_of` is when the data was last known current. Records dated in the last 14 days for every key; API Pro reaches every record.

## Query parameters

- `q` string
- `recipient` string
- `agency` string
- `naics` string
- `state` string
- `min_amount` number
- `after` string, date
- `sort` 'newest' | 'largest'
- `cursor` string
- `limit` integer

## Response `200`

OK

- AwardsResponse
  - `as_of` string, date-time, nullable, required: When this dataset was last known current: the oldest last successful read among its sources (the city's own, with `city`).
  - `awards` Award[], required
    - `agency` string, nullable, required
    - `amount` number, nullable, required: Dollars.
    - `award_id` string, nullable, required
    - `award_type` string, nullable, required
    - `date` string, date, required: YYYY-MM-DD: the day the contract was awarded.
    - `description` string, nullable, required: The source's own text, at most 1000 characters.
    - `end_date` string, date, nullable, required
    - `id` string, uuid, required
    - `naics` Classification, required
      - `code` string, required
      - `description` string, nullable, required
    - `place` Place, required
      - `address` string, nullable, required
      - `city` string, nullable, required
      - `country` string, nullable, required: ISO 3166-1 alpha-3, such as USA.
      - `latitude` number, nullable, required
      - `longitude` number, nullable, required
      - `state` string, nullable, required: Two-letter state.
      - `zip` string, nullable, required
    - `psc` Classification, required
      - `code` string, required
      - `description` string, nullable, required
    - `recipient` string, nullable, required
    - `reference` string, required: The record's own number at its source.
    - `source` string, required: Who published the record. Name it when you show the record.
    - `start_date` string, date, nullable, required
    - `sub_agency` string, nullable, required
    - `url` string, uri, nullable, required: The record at its source; for a city record without a page of its own, the city's dataset.
  - `count` integer, required
  - `next_cursor` string, nullable, required: Pass as `cursor` for the next page; null at the end.

## Other responses

- `400`: A parameter out of shape (the `error` says which), a sort this dataset does not take, a cursor not given out for this sort, or a date outside 1970–9999
- `401`: No API key, or an invalid or revoked one
- `403`: `after` reaches past the last 14 days: that needs API Pro
- `429`: Daily rate limit exceeded (honor the Retry-After header)

## Changes

- **2026-10-29** `e0c2d7df6d6f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/noozra/apis/noozra-news-api/changes/api/awards/get.md)

---

[API](https://skmtc.dev/noozra/apis/noozra-news-api.md) - [All operations](https://skmtc.dev/noozra/apis/noozra-news-api/llms.txt) - [OpenAPI document](https://skmtc.dev/noozra/apis/noozra-news-api/revisions/9067da767e84?raw)
