# USAspending Contract Awards Scraper & Monitor (`vocal_rhapsody/usaspending-awards`) Actor

USAspending scraper and monitor for new US federal contract awards. Official USAspending.gov API, no API key. Filter by NAICS, PSC, agency, recipient state, place of performance, amount and keywords; get only awards new since your last run, including late-loaded DoD awards.

- **URL**: https://apify.com/vocal_rhapsody/usaspending-awards.md
- **Developed by:** [GovData Tools](https://apify.com/vocal_rhapsody) (community)
- **Categories:** Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## USAspending Contract Awards Scraper & Monitor

Get a daily "who won what" feed of new US federal contract awards from USAspending.gov as JSON, CSV or Excel, and receive only the awards that are new since your last run. Built for small GovCon firms, BD and capture consultants, and anyone tracking competitors and teaming partners. No account or API key needed.

### Why this Actor

- **Official source.** It calls the public USAspending.gov API (`api.usaspending.gov`, the `spending_by_award` search). No scraping of web pages, no login, no key. Not affiliated with or endorsed by USAspending.gov or the US government.
- **Built for a daily "new awards" monitor.** The Actor remembers which awards it already returned, separately for every distinct filter combination (in practice one per saved task, client or NAICS list). Put it on an Apify Schedule and each run returns only what is new.
- **Handles late-loaded Department of Defense awards.** By default (`dateMode` "published") it looks at awards added to or changed in USAspending in the last `lookbackDays` days and keeps those signed within the last `maxAwardAgeDays` days (default 180). DoD awards are published about 90 days after signing, so a feed based on signing date mostly misses them; the default mode returns them when they appear. See "Data lag and late-loaded awards".
- **Filters that match how work is found.** NAICS prefix, PSC prefix, awarding agency, recipient state, place-of-performance state, amount range and keywords.
- **Pairs with the SAM.gov Actor (opportunities, then awards).** Where the concepts overlap, inputs and output fields use the same names as the companion [SAM.gov Contract Opportunities Scraper & Monitor](https://apify.com/vocal_rhapsody/sam-gov-opportunities), so open opportunities and past awards line up. See "See also".
- **No contact fields.** Only the recipient's name, Unique Entity ID and city, state and country are returned. No officer or contact fields are requested.

### What data you get

One flat item per award (not per modification). Dates are ISO 8601; the last-modified timestamp is returned as published, without a timezone.

| Field | Meaning | Example (from a real run) |
|---|---|---|
| `awardId`, `generatedInternalId`, `awardType` | Contract number (PIID), USAspending's unique key, award type | `36C24727F0023`, `CONT_AWD_36C24727F0023_3600_NNG15SD24B_8000`, `DELIVERY ORDER` |
| `recipientName`, `recipientUei` | Winning company and its Unique Entity ID | `TECHANAX LLC`, `DJJ8LJTNK156` |
| `recipientCity`, `recipientState`, `recipientCountry` | Recipient location | `WOODBRIDGE`, `VA`, `UNITED STATES` |
| `awardAmount` | Total obligated amount in USD (number), as USAspending reports it | `7588520.55` |
| `dateSigned`, `startDate`, `endDate` | Date the base award was signed, period of performance start and end | `2026-10-19`, `2026-11-02`, `2027-10-31` |
| `department`, `subTier`, `fundingAgency` | Awarding top-tier agency, awarding sub-agency, funding agency | `Department of Health and Human Services`, `National Institutes of Health` |
| `naicsCode`, `naicsDescription`, `pscCode`, `pscDescription` | Industry and product/service classification | `541519`, `OTHER COMPUTER RELATED SERVICES`, `R499` |
| `description` | Award description, truncated to 2,000 characters, email addresses removed | `DIPHR STATISTICAL SUPPORT CONTRACT - COHO CONSULTING GROUP` |
| `placeOfPerformanceCity/State/Country` | Where the work is performed | `DECATUR`, `GA`, `UNITED STATES` |
| `url`, `sourceUrl` | Link to the award on usaspending.gov, and the API endpoint used | |
| `lastModifiedDate`, `scrapedAt` | Last change in USAspending, and the run timestamp | `2026-10-20T07:54:45` |

Fields the source leaves empty are returned as `null`. The contracting office is not part of this API's search results, so there is no `office` field.

### How to use

1. Open the Actor and set your filters, for example NAICS `5415` and recipient state `VA`. Leave a filter empty to skip it. The form is prefilled with NAICS `5415` and `maxItems` 10 for a small test run.
2. Click **Start**. The first run returns every matching award in the lookback window (`lookbackDays`, default 7) up to `maxItems`, largest awards first.
3. Save the input as a task and put it on an Apify Schedule (daily is a natural fit). Each later run returns only awards not seen before. Send results to Google Sheets, your CRM or a webhook with Apify integrations.

Example input:

```json
{
  "naicsCodes": ["5415"],
  "agencies": ["VETERANS", "NATIONAL AERONAUTICS"],
  "recipientStates": ["VA", "MD"],
  "minAmount": 100000,
  "dateMode": "published",
  "lookbackDays": 7,
  "maxAwardAgeDays": 180,
  "onlyNew": true,
  "maxItems": 100
}
```

#### Filters

All filters are optional. Between filters it is AND, within one filter it is OR.

| Input | Meaning |
|---|---|
| `naicsCodes` | Prefix match: `5415` matches 541511, 541512 and so on |
| `pscCodes` | Prefix match on the product/service code, e.g. `R4` matches `R499` |
| `agencies` | Case-insensitive text match on the awarding department or sub-agency name, e.g. `VETERANS`, `HEALTH`. Applied after download (see Limitations) |
| `recipientStates` | Two-letter state of the recipient's location |
| `placeOfPerformanceStates` | Two-letter state where the work is performed |
| `minAmount`, `maxAmount` | Range on `awardAmount` in USD |
| `keywords` | Search terms passed to USAspending's own keyword search; USAspending decides which award text it matches |
| `lookbackDays` | Window size, default 7, maximum 90 |
| `dateMode` | What the window refers to, see "Date modes" below: `published` (default), `signed`, `anyAction` |
| `maxAwardAgeDays` | Published mode only: skip awards signed more than this many days ago. Default 180, maximum 730, `0` keeps all ages |
| `includeIdvs` | Also include indefinite-delivery vehicles (GWAC, IDC, FSS, BOA, BPA). Default off |
| `maxItems` | Cap on results per run (default 100). Largest awards come first |

#### Date modes

| `dateMode` | Window refers to | Use it for |
|---|---|---|
| `published` (default) | Awards added to or changed in USAspending in the last `lookbackDays` days (the API's last-modified date), then kept only if signed within `maxAwardAgeDays` | A daily "what just appeared" feed. Catches late-loaded awards, including Department of Defense awards about 90 days after signing |
| `signed` | The base award was signed in the last `lookbackDays` days | A feed by signing date. Awards reported late fall out of a short window |
| `anyAction` | Any action on the award, such as a modification, in the window | Activity tracking, including modifications to old awards |

The API allows only one date type per request, so the age limit of the published mode is applied after download. Because the published mode follows the last-modified date, it cannot tell a late first publication from a recent modification to an older award; the age limit and the seen list keep repeats small. Awards signed longer ago than `maxAwardAgeDays` are skipped, so raise it (maximum 730) if you want very late reports too. Without the seen list (`onlyNew` off), an award modified several times can appear in several runs.

#### New since last run

With `onlyNew` on (off by default; turn it on in your scheduled task) the Actor stores a compact list of award IDs in a named key-value store in your account (`usaspending-awards-state`), one entry per distinct filter combination.

- **First run** for a filter combination: returns everything in the lookback window (up to `maxItems`).
- **Later runs**: return only awards not seen before. In the default mode a late-reported award is returned when USAspending first publishes it.
- Seen awards are remembered for the longer of the lookback window and the maximum award age (published mode), plus 14 days after they were last seen, so an award that is modified again while it still qualifies is not returned twice. With award age set to 0 (keep all), or in the other modes, an award modified again after that can be returned a second time. Memory is capped at 200,000 awards per filter set (most recently seen kept).
- Awards cut off by `maxItems` (or by a spending limit) are not marked as seen, so the next run returns them.
- `resetState` forgets the list for the given filters and treats the run as a first run.
- Changing `lookbackDays`, `maxAwardAgeDays` or `maxItems` keeps the list. Changing any filter, `dateMode` or `includeIdvs` starts a new, separate list.
- Leave `onlyNew` off (the default) to get all matches in the window on every run.

### Output example

Three real items from a run filtered to NAICS `5415` (`sourceUrl` is the API endpoint):

```json
[
  {
    "awardId": "36C24727F0023",
    "generatedInternalId": "CONT_AWD_36C24727F0023_3600_NNG15SD24B_8000",
    "awardType": "DELIVERY ORDER",
    "recipientName": "TECHANAX LLC",
    "recipientUei": "DJJ8LJTNK156",
    "recipientCity": "WOODBRIDGE",
    "recipientState": "VA",
    "recipientCountry": "UNITED STATES",
    "awardAmount": 7588520.55,
    "dateSigned": "2026-10-19",
    "startDate": "2026-11-02",
    "endDate": "2027-10-31",
    "department": "Department of Veterans Affairs",
    "subTier": "Department of Veterans Affairs",
    "fundingAgency": "Department of Veterans Affairs",
    "naicsCode": "541519",
    "naicsDescription": "OTHER COMPUTER RELATED SERVICES",
    "pscCode": "N063",
    "pscDescription": "INSTALLATION OF EQUIPMENT- ALARM, SIGNAL, AND SECURITY DETECTION SYSTEMS",
    "description": "ATLANTA VA HEALTHCARE SYSTEM CCTV, ATLANTA VA MEDICAL CENTER, DECATUR, GA",
    "placeOfPerformanceCity": "DECATUR",
    "placeOfPerformanceState": "GA",
    "placeOfPerformanceCountry": "UNITED STATES",
    "url": "https://www.usaspending.gov/award/CONT_AWD_36C24727F0023_3600_NNG15SD24B_8000",
    "sourceUrl": "https://api.usaspending.gov/api/v2/search/spending_by_award/",
    "lastModifiedDate": "2026-10-20T07:54:45",
    "scrapedAt": "2026-10-22T14:45:46.543Z"
  },
  {
    "awardId": "75N98027F00002",
    "generatedInternalId": "CONT_AWD_75N98027F00002_7529_47QTCA25D00D4_4732",
    "awardType": "DELIVERY ORDER",
    "recipientName": "COHO CONSULTING GROUP LLC",
    "recipientUei": "TJKFN63UW7G7",
    "recipientCity": "ANCHORAGE",
    "recipientState": "AK",
    "recipientCountry": "UNITED STATES",
    "awardAmount": 2142729.6,
    "dateSigned": "2026-10-15",
    "startDate": "2026-10-19",
    "endDate": "2027-10-18",
    "department": "Department of Health and Human Services",
    "subTier": "National Institutes of Health",
    "fundingAgency": "Department of Health and Human Services",
    "naicsCode": "541519",
    "naicsDescription": "OTHER COMPUTER RELATED SERVICES",
    "pscCode": "R499",
    "pscDescription": "SUPPORT- PROFESSIONAL: OTHER",
    "description": "DIPHR STATISTICAL SUPPORT CONTRACT - COHO CONSULTING GROUP",
    "placeOfPerformanceCity": "BETHESDA",
    "placeOfPerformanceState": "MD",
    "placeOfPerformanceCountry": "UNITED STATES",
    "url": "https://www.usaspending.gov/award/CONT_AWD_75N98027F00002_7529_47QTCA25D00D4_4732",
    "sourceUrl": "https://api.usaspending.gov/api/v2/search/spending_by_award/",
    "lastModifiedDate": "2026-10-15T09:56:15",
    "scrapedAt": "2026-10-22T14:45:46.543Z"
  },
  {
    "awardId": "9531CB27F0001",
    "generatedInternalId": "CONT_AWD_9531CB27F0001_955F_9531CB26A0006_955F",
    "awardType": "BPA CALL",
    "recipientName": "GOLDEN IT LLC",
    "recipientUei": "F6TTFW4CEL95",
    "recipientCity": "OLATHE",
    "recipientState": "KS",
    "recipientCountry": "UNITED STATES",
    "awardAmount": 1567334.4,
    "dateSigned": "2026-10-16",
    "startDate": "2026-10-21",
    "endDate": "2027-10-20",
    "department": "Consumer Financial Protection Bureau",
    "subTier": "Consumer Financial Protection Bureau",
    "fundingAgency": "Consumer Financial Protection Bureau",
    "naicsCode": "541511",
    "naicsDescription": "CUSTOM COMPUTER PROGRAMMING SERVICES",
    "pscCode": "DA01",
    "pscDescription": "IT AND TELECOM - BUSINESS APPLICATION/APPLICATION DEVELOPMENT SUPPORT SERVICES (LABOR)",
    "description": "MICROSOFT SERVICES CALL 0001",
    "placeOfPerformanceCity": "OLATHE",
    "placeOfPerformanceState": "KS",
    "placeOfPerformanceCountry": "UNITED STATES",
    "url": "https://www.usaspending.gov/award/CONT_AWD_9531CB27F0001_955F_9531CB26A0006_955F",
    "sourceUrl": "https://api.usaspending.gov/api/v2/search/spending_by_award/",
    "lastModifiedDate": "2026-10-20T10:56:09",
    "scrapedAt": "2026-10-22T14:45:46.543Z"
  }
]
```

### Data lag and late-loaded awards

USAspending publishes what agencies report, so awards appear after the agency reports them. In our checks civilian awards appeared within days of signing. **Department of Defense awards are published with a delay of about 90 days.** In a check on 2026-10-22 the API had no DoD contract awards signed in the previous three weeks, almost none for mid-August, and many for mid-July.

That is why the default mode follows the publication (last-modified) date instead of the signed date. In a default-mode run on 2026-10-22 with NAICS `5415` and a 7-day window, 37 of the 300 awards kept were DoD awards signed between 2026-04-27 and 2026-07-21 and last modified on 15 and 16 October. In `signed` mode a DoD award shows up only after its signed date has already left a short window, so `signed` mode will mostly miss them. Those DoD items keep their original `dateSigned`.

### Pricing

Pay per result: you are charged for each award written to the dataset (Apify pay-per-event, event `result`). Awards that are filtered out or already seen are not charged. Set `maxItems` to cap the cost of a run. The current price per 1,000 results is shown on this page.

### Use cases

- **Daily "new awards" alert for your NAICS or PSC codes.** Filter, schedule daily, and get only the awards published since the last run into Sheets or your CRM.
- **Competitor and teaming-partner leads.** See who just won work, for how much and for which agency, with recipient name, UEI and location.
- **Defense contractors and primes.** Follow DoD awards as they are published, even though they load about 90 days after signing.
- **Weekly award volume by agency or state.** Filter by agency, recipient state or place-of-performance state and total `awardAmount` in your sheet.
- **Capture teams with several clients.** One saved task per client, each with its own new-since-last-run list.
- **Opportunities to awards.** Use this Actor with the companion SAM.gov Actor to track what was bid and then what was awarded in the same NAICS codes.

### Privacy

Only the recipient's name, UEI and city, state and country are returned for the winner; no officer or contact fields are requested. Some recipients can be sole proprietors, whose names appear as USAspending publishes them. In `description`, email addresses are replaced with `[email removed]`, but free text can still mention names or phone numbers.

### FAQ

**Do I need an account or API key?** No. The Actor uses the public USAspending.gov API, with no login or key.

**Which awards are included?** Prime contract awards: purchase orders, delivery orders, BPA calls and definitive contracts. Indefinite-delivery vehicles are available with `includeIdvs`. Grants, loans and subawards are not included. Each award is one item, not one item per modification.

**What is `awardAmount`?** The total obligated amount for the award as USAspending reports it. The amount filters are checked against this value.

**How are results ordered, and what if there are more than `maxItems`?** Largest awards first (regular contracts first, then indefinite-delivery vehicles when enabled). The rest stay unseen and are returned on the next run (with `onlyNew` on).

**How often is the data updated?** As often as agencies report to USAspending. Running more than once a day only helps for awards that appeared in between.

**Is the data complete?** It contains the awards the USAspending API returns. Results come from a live database sorted by amount, so on rare occasions a row can be skipped if the data changes during a run. No completeness is guaranteed.

**What if the API changes?** If expected fields are missing in more than 20% of awards, or the response shape is unexpected, the run stops with an error instead of returning bad data. Temporary errors and rate-limit responses are retried with backoff. The Actor makes at most one request per second.

**Is this legal to use?** The Actor reads a public federal data API and does not log in to anything. You are responsible for how you use the data.

**Each run writes a `RUN_SUMMARY` record** with requests made, awards read, items emitted, whether the page cap was hit, runtime and peak memory.

### Limitations

- Data is as fresh as agency reporting; DoD awards are published about 90 days after signing (see above). The default mode returns them when they appear, with their original signed date.
- The awarding contracting office is not available from this API's search results, so it is not returned.
- A run reads up to 30,000 awards per award-type group (300 pages of 100, at one request per second); the rest is not read. Results are read largest first, so the smallest awards are the ones cut off. Narrow the filters (NAICS, PSC, state, `minAmount`) for very broad searches. In the default mode a 7-day window for NAICS `5415` is about 840 awards (9 requests, 9 seconds); with no filters it is tens of thousands, and the run stops at the cap with a warning and `truncated` set in `RUN_SUMMARY`.
- Agency filtering is a text match done after download, so a broad agency-only search reads every award in the window. Combine it with a NAICS or PSC filter to keep runs small.
- Not every filter exists in both companion Actors: set-aside and notice type are SAM.gov only; PSC, amount, recipient state and place-of-performance state filters are here only.

### See also

Looking for open opportunities before they are awarded? Use the companion Actor, [SAM.gov Contract Opportunities Scraper & Monitor](https://apify.com/vocal_rhapsody/sam-gov-opportunities): the same kind of daily new-since-last-run feed, for solicitations, sources sought and presolicitations. Run opportunities there, then follow who won the work here. Shared names include `naicsCodes`, `agencies`, `keywords`, `maxItems`, `naicsCode`, `pscCode`, `department`, `subTier` and `awardAmount`.

### Changelog

- 0.1: first release.

# Changelog

This Actor's version history is a separate document: https://apify.com/vocal_rhapsody/usaspending-awards/changelog.md

# Actor input Schema

## `naicsCodes` (type: `array`):

Prefix match: "5415" matches 541511, 541512 and so on. Leave empty to include all NAICS codes.

## `pscCodes` (type: `array`):

Product/service codes, prefix match: "R4" matches R499 and so on. Leave empty to include all PSC codes.

## `agencies` (type: `array`):

Case-insensitive text match on the awarding department or sub-agency name, e.g. "VETERANS", "HEALTH". An award is kept if any entry matches. Leave empty to include all. Matching happens after download, so combine it with a NAICS or PSC code to keep runs short.

## `recipientStates` (type: `array`):

Two-letter US state codes of the recipient's location, e.g. TX. Leave empty to include all.

## `placeOfPerformanceStates` (type: `array`):

Two-letter US state codes where the work is performed, e.g. VA. Leave empty to include all.

## `minAmount` (type: `integer`):

Only awards with a total obligated amount of at least this value, in US dollars. Leave empty for no minimum.

## `maxAmount` (type: `integer`):

Only awards with a total obligated amount of at most this value, in US dollars. Leave empty for no maximum.

## `keywords` (type: `array`):

Search terms passed to USAspending's own keyword search; USAspending decides which award text is matched. Leave empty to skip.

## `lookbackDays` (type: `integer`):

How many days back to look, from 1 to 90. What counts depends on the date mode: newly published, signed, or any action. With "Only new since last run" on, the first run returns everything in this window, up to Max items.

## `dateMode` (type: `string`):

What the lookback window refers to. "Newly published" (default, best for a daily new-awards feed): awards added to or changed in USAspending in the window, kept if signed within the max award age; this also catches awards reported late, such as Department of Defense awards that appear about 90 days after signing. "Signed": base award signed inside the window; late-reported awards fall out of a short window. "Any action": any award with an action, such as a modification, in the window.

## `maxAwardAgeDays` (type: `integer`):

Newly published mode only: skip awards signed more than this many days ago, which drops older awards that were only modified recently. Default 180, maximum 730. Raise it to also catch very late reports; set 0 to keep all ages.

## `includeIdvs` (type: `boolean`):

Also include indefinite-delivery vehicles (GWAC, IDC, FSS, BOA, BPA), read after the regular contracts. Off by default: only definitive contracts, purchase orders, delivery orders and BPA calls.

## `onlyNew` (type: `boolean`):

Turn this on in your scheduled task to return only awards not seen in earlier runs with the same filters, so a scheduled run gives you just the new awards. The list of seen awards is kept per filter combination (including date mode and IDV setting) in the named key-value store "usaspending-awards-state" in your account. Off (the default) gives all matches in the window on every run.

## `resetState` (type: `boolean`):

Forget which awards were already seen for these filters and treat this run as a first run. Only applies when "Only new since last run" is on.

## `maxItems` (type: `integer`):

Stop after this many results. You are charged per result, so this keeps the cost of a run predictable. Largest awards come first; awards beyond the cap are returned on the next run when "Only new since last run" is on.

## Actor input object example

```json
{
  "naicsCodes": [
    "5415"
  ],
  "lookbackDays": 7,
  "dateMode": "published",
  "maxAwardAgeDays": 180,
  "includeIdvs": false,
  "onlyNew": false,
  "resetState": false,
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

One item per matching award (new since last run when onlyNew is on).

## `runSummary` (type: `string`):

API requests, awards read, items pushed, runtime and peak memory.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "naicsCodes": [
        "5415"
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("vocal_rhapsody/usaspending-awards").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "naicsCodes": ["5415"],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("vocal_rhapsody/usaspending-awards").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "naicsCodes": [
    "5415"
  ],
  "maxItems": 10
}' |
apify call vocal_rhapsody/usaspending-awards --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,vocal_rhapsody/usaspending-awards"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/SttW6noUQabKege2M/builds/09fkfao4byf50WoII/openapi.json
