{
  "openapi": "3.0.1",
  "info": {
    "title": "Federal Contract Awards Scraper - USAspending Data",
    "description": "Export US federal contract award data from USAspending.gov with no API key. Full detail by NAICS, PSC, agency, recipient, and place of performance. Contracts + IDVs.",
    "version": "1.0",
    "x-build-id": "bLuxhxQC4h7RTI7TD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maydit~us-federal-contract-awards-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maydit-us-federal-contract-awards-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/maydit~us-federal-contract-awards-scraper/runs": {
      "post": {
        "operationId": "runs-sync-maydit-us-federal-contract-awards-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/maydit~us-federal-contract-awards-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-maydit-us-federal-contract-awards-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "awardTypeGroup": {
            "title": "Contracts or IDVs",
            "enum": [
              "contracts",
              "idvs"
            ],
            "type": "string",
            "description": "Which kind of federal awards to pull. Contracts = definitive/purchase-order/BPA-call contracts. IDVs = indefinite delivery vehicles (GWACs, IDIQs, BPAs).",
            "default": "contracts"
          },
          "actionDateSince": {
            "title": "Award action date — from",
            "type": "string",
            "description": "Only awards with an action date on or after this date (YYYY-MM-DD). Leave empty to search the current and previous federal fiscal years (fiscal years start on 1 October). USAspending cannot sort its full history since 2007 in time, so for older awards set this and pull one or two fiscal years per run. Great for weekly monitoring of newly-awarded contracts."
          },
          "actionDateUntil": {
            "title": "Award action date — through",
            "type": "string",
            "description": "Only awards with an action date on or before this date (YYYY-MM-DD)."
          },
          "awardingAgency": {
            "title": "Exact top-tier agency name",
            "type": "string",
            "description": "Exact official top-tier awarding agency name, spelled and capitalized as USAspending publishes it, e.g. 'Department of Defense', 'Department of Veterans Affairs', 'General Services Administration'. Abbreviations and different casing return zero rows. Leave empty for all agencies."
          },
          "recipientSearch": {
            "title": "Recipient name contains",
            "type": "string",
            "description": "Partial company-name match against the award recipient, e.g. 'Lockheed Martin' also matches 'LOCKHEED MARTIN CORPORATION'. Case does not matter. Leave empty for all recipients."
          },
          "naicsCodes": {
            "title": "NAICS codes",
            "type": "array",
            "description": "Filter by industry NAICS codes, e.g. '236220' (commercial building construction), '541512' (computer systems design). Leave empty for all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "placeOfPerformanceStates": {
            "title": "States where work is performed",
            "type": "array",
            "description": "Two-letter US state codes for where the work is performed, e.g. 'CA', 'TX', 'VA'. Leave empty for all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Free-text terms matched against award descriptions and related fields, e.g. 'cybersecurity' or 'zero trust'. Multiple entries broaden the search. Leave empty to skip keyword filtering.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minAmount": {
            "title": "Minimum award amount (USD)",
            "type": "integer",
            "description": "Only return awards whose award amount is at or above this many US dollars. Enter a plain number with no commas or currency symbol, e.g. 1000000 for $1M. Leave empty for no lower bound."
          },
          "maxAmount": {
            "title": "Maximum award amount (USD)",
            "type": "integer",
            "description": "Only return awards whose award amount is at or below this many US dollars. Enter a plain number with no commas or currency symbol, e.g. 50000000 for $50M. Leave empty for no upper bound."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "Award Amount",
              "Start Date"
            ],
            "type": "string",
            "description": "Order results by award amount (largest first) or start date (newest first).",
            "default": "Award Amount"
          },
          "maxResults": {
            "title": "Maximum awards to save",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound on how many awards a single run returns. The Actor pages through USAspending 100 awards at a time: a fiscal-year window answers in seconds per page, a very wide window can take 30 seconds or more per page. Raise this freely on a filtered search; on a broad search raise Max run seconds and the run timeout too.",
            "default": 300
          },
          "maxRunSeconds": {
            "title": "Run time budget (seconds)",
            "minimum": 30,
            "type": "integer",
            "description": "Wall-clock budget for this run, in seconds. When it is reached the Actor stops cleanly and finishes successfully with the rows it already collected, instead of being killed mid-run. USAspending takes roughly 30 s per page of 100 awards. Raise it (and the run timeout in Run options) for a deliberately large job.",
            "default": 240
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}