{
  "openapi": "3.0.1",
  "info": {
    "title": "SAM.gov Contract Opportunities & Awards - No API Key",
    "description": "U.S. federal contract opportunities and awards from SAM.gov's official public data extract: agency, NAICS, PSC, set-aside, deadline, place of performance, award amount, awardee company. Filters: keyword, agency, NAICS, type, state, set-aside, date. No API key. Unofficial; not affiliated with GSA.",
    "version": "0.1",
    "x-build-id": "vfgR9aHnnRIx7S2e2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jpopendata~us-sam-opportunities/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jpopendata-us-sam-opportunities",
        "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/jpopendata~us-sam-opportunities/runs": {
      "post": {
        "operationId": "runs-sync-jpopendata-us-sam-opportunities",
        "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/jpopendata~us-sam-opportunities/run-sync": {
      "post": {
        "operationId": "run-sync-jpopendata-us-sam-opportunities",
        "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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Optional. Words or phrases to find in the notice title, solicitation number or description (whole words, any case), e.g. \"cybersecurity\", \"janitorial\", \"body armor\". A notice matches if it contains ANY of them. Leave empty for all notices.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchDescriptions": {
            "title": "Search descriptions too",
            "type": "boolean",
            "description": "Also look for the keywords in the notice description. The description itself is never output (it often contains contracting officers' names, e-mails and phone numbers). Turn off to match titles and solicitation numbers only.",
            "default": true
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Optional. solicitation, combined_synopsis_solicitation, presolicitation, sources_sought, special_notice, award_notice, justification, sale_of_surplus_property, intent_to_bundle. SAM.gov labels (\"Combined Synopsis/Solicitation\", \"Sources Sought\") and words like award, RFI (= sources sought), RFP / RFQ (= solicitation + combined) or opportunities (solicitation, combined, presolicitation, sources sought) also work. Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "agencies": {
            "title": "Agencies",
            "type": "array",
            "description": "Optional. Part of the department, sub-tier or office name, e.g. \"Veterans Affairs\", \"Navy\", \"Defense Logistics Agency\", \"Forest Service\". Common abbreviations work (DoD, VA, GSA, DHS, DLA, NASA, USACE, NIH, FAA ...), and so do agency codes (CGAC \"097\", FPDS sub-tier \"97AS\", office AAC \"SPE4A5\"). Any match counts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "naicsCodes": {
            "title": "NAICS codes",
            "type": "array",
            "description": "Optional. NAICS codes or prefixes (2 to 6 digits), e.g. \"541512\" (computer systems design), \"5415\" (every code starting 5415), \"236\" (building construction).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "pscCodes": {
            "title": "PSC codes",
            "type": "array",
            "description": "Optional. Product and Service Codes or prefixes (1 to 4 characters), e.g. \"R499\", \"D3\" (IT services), \"J065\", \"59\" (electrical components).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "setAsides": {
            "title": "Set-asides",
            "type": "array",
            "description": "Optional. Set-aside codes (SBA, SBP, 8A, 8AN, HZC, HZS, SDVOSBC, SDVOSBS, WOSB, WOSBSS, EDWOSB, EDWOSBSS, VSA, VSS, ISBEE, IEE, BICiv, LAS, ESB, NONE) or words: small business, 8(a), HUBZone, SDVOSB, WOSB, veteran, Indian, none (no set-aside), any (any set-aside at all).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "States (place of performance)",
            "type": "array",
            "description": "Optional. U.S. states where the work is performed: two-letter codes or names, e.g. \"TX\", \"Virginia\", \"DC\", \"PR\". About 3 in 4 notices publish no place-of-performance state (many supply notices); they are dropped unless the next option is on.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "useOfficeStateWhenNoPlace": {
            "title": "Use the office's state when no place is published",
            "type": "boolean",
            "description": "When a notice publishes no place-of-performance state, match the States filter against the contracting office's state instead.",
            "default": false
          },
          "daysBack": {
            "title": "Days back",
            "type": "integer",
            "description": "Read notices posted in the last N days (UTC days, 0..3650). 0 = every active notice in the extract (about 70,000, some posted years ago). Ignored when Posted from is set. The extract is sorted newest first, so a short window downloads only the start of the file.",
            "default": 7
          },
          "postedFrom": {
            "title": "Posted from",
            "type": "string",
            "description": "Optional. First posting day, YYYY-MM-DD (UTC), e.g. \"2026-10-01\". MM/DD/YYYY, \"today\" and \"yesterday\" also work.",
            "default": ""
          },
          "postedTo": {
            "title": "Posted to",
            "type": "string",
            "description": "Optional. Last posting day, YYYY-MM-DD (UTC). Empty = up to the newest notice.",
            "default": ""
          },
          "deadlineFrom": {
            "title": "Response deadline from",
            "type": "string",
            "description": "Optional. Keep only notices whose response deadline is on or after this day, YYYY-MM-DD. Notices without a deadline are dropped when this is set.",
            "default": ""
          },
          "deadlineTo": {
            "title": "Response deadline to",
            "type": "string",
            "description": "Optional. Keep only notices whose response deadline is on or before this day, YYYY-MM-DD.",
            "default": ""
          },
          "onlyOpen": {
            "title": "Only open for responses",
            "type": "boolean",
            "description": "Keep only notices whose response deadline is still in the future. Notices without a deadline (most award and special notices) are dropped.",
            "default": false
          },
          "maxItems": {
            "title": "Max notices",
            "type": "integer",
            "description": "Maximum notices (1..100000), newest first. You are charged per notice.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional and normally not needed: SAM.gov and its download storage answer Apify datacenter IPs. If set, one sticky session is used for the whole run (never rotation).",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}