{
  "openapi": "3.0.1",
  "info": {
    "title": "US Federal Contract Award Monitor",
    "description": "Get alerted the moment a new US federal award matching your business is posted. Filter by NAICS, agency, recipient company and amount; alerts only on never-seen awards via the official USAspending API. Organization-level data, no individuals. Official USAspending data, no personal data.",
    "version": "0.1",
    "x-build-id": "CT1qDaP0wSuO6tUFD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lowlanddata~usa-federal-award-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lowlanddata-usa-federal-award-monitor",
        "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/lowlanddata~usa-federal-award-monitor/runs": {
      "post": {
        "operationId": "runs-sync-lowlanddata-usa-federal-award-monitor",
        "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/lowlanddata~usa-federal-award-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-lowlanddata-usa-federal-award-monitor",
        "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": {
          "awardTypes": {
            "title": "Award types",
            "type": "array",
            "description": "Which kinds of federal award to monitor. Default: contracts (the procurement awards most competitive-intel buyers watch).",
            "items": {
              "type": "string",
              "enum": [
                "contracts",
                "grants",
                "idvs",
                "loans",
                "direct-payments"
              ],
              "enumTitles": [
                "Contracts",
                "Grants",
                "IDVs (indefinite-delivery vehicles)",
                "Loans",
                "Direct payments"
              ]
            },
            "default": [
              "contracts"
            ]
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Alert on awards whose description, recipient or industry label contains ANY of these words (case-insensitive). Example: [\"cybersecurity\", \"cloud\"]. Leave empty to match everything and filter by NAICS, agency or recipient instead.",
            "items": {
              "type": "string"
            }
          },
          "naicsCodes": {
            "title": "NAICS codes",
            "type": "array",
            "description": "Industry codes, 2-6 digits. Filters the USAspending query server-side. Example: [\"541512\", \"541519\"]. Combined with pscCodes this narrows rather than widens: an award must match both lists.",
            "items": {
              "type": "string"
            }
          },
          "pscCodes": {
            "title": "PSC codes",
            "type": "array",
            "description": "Product Service Codes, e.g. [\"D310\", \"R425\"]. USAspending applies NAICS and PSC together, so setting both narrows to awards matching a code in each list - set only one to widen.",
            "items": {
              "type": "string"
            }
          },
          "agencies": {
            "title": "Awarding agencies",
            "type": "array",
            "description": "Only awards from these top-tier awarding agencies (exact agency name). Example: [\"Department of Defense\", \"Department of Veterans Affairs\"].",
            "items": {
              "type": "string"
            }
          },
          "recipients": {
            "title": "Recipients (companies)",
            "type": "array",
            "description": "Only awards to recipients matching these names - watch specific competitors or partners. Example: [\"Booz Allen\", \"Leidos\"]. Matches the recipient name.",
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "Place-of-performance states",
            "type": "array",
            "description": "Two-letter US state codes for where the work is performed, e.g. [\"TX\", \"VA\"]. Empty = whole country.",
            "items": {
              "type": "string"
            }
          },
          "minAmountUsd": {
            "title": "Minimum award amount (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only alert on awards of at least this many dollars. Awards without a published amount always pass."
          },
          "lookbackDays": {
            "title": "Baseline lookback (days)",
            "minimum": 1,
            "maximum": 90,
            "type": "integer",
            "description": "How many days of already-posted awards the FIRST run of a profile loads as its baseline. Later runs automatically continue from the previous run with one day of overlap - re-alerting a seen award is impossible.",
            "default": 7
          },
          "alertOn": {
            "title": "Alert on",
            "enum": [
              "new",
              "new-and-updated"
            ],
            "type": "string",
            "description": "\"new\" alerts once per award. \"new-and-updated\" also alerts when a seen award is modified (marked isUpdate: true), e.g. a new obligation or amount change.",
            "default": "new"
          },
          "emitBaseline": {
            "title": "Emit baseline on first run",
            "type": "boolean",
            "description": "On the very first run of a profile, push the currently matching awards (flagged isBaseline: true, charged at the lower baseline price). Turn off to seed silently and only ever receive new alerts.",
            "default": true
          },
          "resetState": {
            "title": "Reset monitor state",
            "type": "boolean",
            "description": "Discard this profile's memory of already-seen awards and start over with a fresh baseline run. One-shot switch: turn it back off afterwards.",
            "default": false
          },
          "maxItems": {
            "title": "Max items per run",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Upper bound on items pushed per run (baseline or alerts). On an alert run, matches beyond the cap alert on the next run. On the very first (baseline) run they are recorded as already seen instead, so raise this before the first run if you need the whole baseline.",
            "default": 500
          },
          "stateStoreName": {
            "title": "State store name",
            "type": "string",
            "description": "Named key-value store holding the monitor's seen-award memory. Only change this to run fully isolated monitor instances.",
            "default": "usa-award-monitor-state"
          },
          "reportFailures": {
            "title": "Report failures to the developer",
            "type": "boolean",
            "description": "When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. <b>Your input itself, your results and your identity are never sent, and successful runs send nothing at all.</b> Switch this off and the actor behaves exactly the same.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}