{
  "openapi": "3.0.1",
  "info": {
    "title": "Federal Contract Awards – New Winners Feed",
    "description": "Who just won a federal contract in your NAICS? Newest USAspending.gov awards with set-aside, competition, parent company. Only new ones with a monitor name.",
    "version": "0.1",
    "x-build-id": "bkE6UbfFSZos5srpO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cce_partners~federal-contract-award-winners-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cce_partners-federal-contract-award-winners-feed",
        "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/cce_partners~federal-contract-award-winners-feed/runs": {
      "post": {
        "operationId": "runs-sync-cce_partners-federal-contract-award-winners-feed",
        "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/cce_partners~federal-contract-award-winners-feed/run-sync": {
      "post": {
        "operationId": "run-sync-cce_partners-federal-contract-award-winners-feed",
        "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": {
          "naicsCodes": {
            "title": "NAICS codes",
            "type": "array",
            "description": "NAICS codes with 2, 4 or 6 digits (USAspending accepts only these lengths; 2 and 4 digits match as a prefix). Give at least one of NAICS, PSC, awarding agency or recipient. If none is given, NAICS 541512 is used.",
            "items": {
              "type": "string",
              "pattern": "^(\\d{2}|\\d{4}|\\d{6})$"
            }
          },
          "pscCodes": {
            "title": "PSC codes",
            "type": "array",
            "description": "Product/Service codes, e.g. DA01, R499.",
            "items": {
              "type": "string"
            }
          },
          "awardingAgencies": {
            "title": "Awarding agencies",
            "type": "array",
            "description": "Top-tier agency names as on USAspending, e.g. Department of Veterans Affairs, Department of Defense (includes USACE and the military departments). Case, \"Dept.\" and abbreviations such as VA, DOD or GSA are accepted. Names are checked against USAspending's agency list when the run starts: an unknown name stops the run before any search, so no award rows are charged.",
            "items": {
              "type": "string"
            }
          },
          "setAsideTypes": {
            "title": "Set-aside types",
            "type": "array",
            "description": "FPDS set-aside codes, filtered by USAspending itself (exact): e.g. SBA (total small business), SBP, 8A, 8AN, HZC, HZS, SDVOSBC, SDVOSBS, WOSB, WOSBSS, EDWOSB, EDWOSBSS, VSA, VSS, NONE.",
            "items": {
              "type": "string"
            }
          },
          "extentCompetedTypes": {
            "title": "Extent competed",
            "type": "array",
            "description": "FPDS extent-competed codes, filtered by USAspending (exact): A full and open, B not available for competition, C not competed, D full and open after exclusion of sources, E follow-on, F competed under SAP, G not competed under SAP, CDO competitive delivery order, NDO non-competitive delivery order.",
            "items": {
              "type": "string"
            }
          },
          "recipients": {
            "title": "Recipients (competitor watch)",
            "maxItems": 25,
            "type": "array",
            "description": "Competitor UEIs (exact match) or names (contained in the recipient name). One search per entry, max 25.",
            "items": {
              "type": "string"
            }
          },
          "placeOfPerformanceStates": {
            "title": "Place of performance states",
            "type": "array",
            "description": "Two-letter state codes, e.g. VA, MD.",
            "items": {
              "type": "string"
            }
          },
          "minAwardAmount": {
            "title": "Minimum award amount (USD, obligated)",
            "minimum": 0,
            "type": "integer",
            "description": "Only awards with at least this much obligated.",
            "default": 25000
          },
          "lookbackDays": {
            "title": "Lookback days (first run)",
            "minimum": 1,
            "maximum": 90,
            "type": "integer",
            "description": "Stateless runs and the first run of a monitor: records updated in the last N days. Later monitor runs continue from a saved cursor per search (2-day overlap).",
            "default": 14
          },
          "includeDodDelayed": {
            "title": "Include DoD/USACE awards (published 90 days late)",
            "type": "boolean",
            "description": "DoD and USACE awards appear on USAspending about 90 days after award by DoD policy. Included by default and flagged dataDelay=dod_90_day; changeType=newly_visible_dod when the award is more than 60 days old. DoD awards up to 180 days old are kept (civilian: 150). Turn off to exclude them.",
            "default": true
          },
          "includeAmended": {
            "title": "Include amended awards",
            "type": "boolean",
            "description": "Also return awards you already received whose amount, end date or recipient changed (changeType=amended). Each is a charged row.",
            "default": false
          },
          "resolveParents": {
            "title": "Resolve parent company",
            "type": "boolean",
            "description": "Current parent from USAspending's recipient profile plus a small cited alias map for recent acquisitions.",
            "default": true
          },
          "maxDetailLookups": {
            "title": "Max competition-detail lookups (enrichment cap)",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Set-aside, extent competed, number of offers, solicitation procedures, potential value and potential end date need one USAspending request per award (~0.7 s each). Rows over the cap, or not reached before the enrichment deadline, have those fields null and detailLookedUp=false.",
            "default": 60
          },
          "maxParentLookups": {
            "title": "Max parent lookups",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "New recipient profiles fetched per run (cached 30 days).",
            "default": 50
          },
          "enrichmentDeadlineSecs": {
            "title": "Enrichment deadline (seconds)",
            "minimum": 5,
            "maximum": 600,
            "type": "integer",
            "description": "Detail and parent lookups stop after this many seconds (and after 3 failures in a row); rows are still delivered, with the missing fields null. Keeps a slow USAspending from stalling the run.",
            "default": 90
          },
          "monitorName": {
            "title": "Monitor name",
            "pattern": "^([A-Za-z0-9_-]{1,100})?$",
            "type": "string",
            "description": "Name of this watch. With a name, each run returns only awards that are new since the last run (saved state per name). Without a name the run is stateless: the newest awards in the lookback window (25 rows unless maxItems is set). Reusing a name with different filters keeps the old cursor and seen awards; use a new name or resetState. Letters, digits, \"-\" and \"_\" only (1-100 characters), e.g. it-services-va. An empty value is the same as no name (stateless)."
          },
          "emitUnchanged": {
            "title": "Emit unchanged rows",
            "type": "boolean",
            "description": "Also return awards already delivered and unchanged (changeType=unchanged) and amended ones. Each is a charged row.",
            "default": false
          },
          "resetState": {
            "title": "Reset state",
            "type": "boolean",
            "description": "Forget what this monitor has seen and start again from lookbackDays.",
            "default": false
          },
          "maxItems": {
            "title": "Max rows per run",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Cost cap. Default: 25 for a stateless run, 500 for a monitor. In a monitor, rows over the cap are delivered on the next run."
          },
          "maxPagesPerQuery": {
            "title": "Max search pages per query and run",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "100 records per page. If reached, the monitor saves its position in the search and the next run continues from exactly there.",
            "default": 30
          },
          "maxRequests": {
            "title": "Max USAspending search requests",
            "minimum": 10,
            "maximum": 5000,
            "type": "integer",
            "description": "Hard per-run budget for search requests (detail and parent lookups have their own caps above).",
            "default": 400
          },
          "searchTimeBudgetSecs": {
            "title": "Search time budget (seconds)",
            "minimum": 10,
            "maximum": 3600,
            "type": "integer",
            "description": "Overall time for all USAspending searches of one run (on top of the per-request timeouts). When it runs out the search stops cleanly, the monitor saves its position and the next run continues; the status message says so. If USAspending fails on one search (timeouts, 429, 5xx), the remaining searches of that run are skipped.",
            "default": 600
          },
          "stateKey": {
            "title": "State key (legacy alias of monitorName)",
            "pattern": "^([A-Za-z0-9_-]{1,100})?$",
            "type": "string",
            "description": "Legacy alias of monitorName, kept for older API calls. Use monitorName instead; monitorName wins when both are set. An empty value is the same as no name."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}