{
  "openapi": "3.0.1",
  "info": {
    "title": "SAM.gov & SBIR Federal RFP + Attachment Deep-Parser",
    "description": "Finds federal RFPs on SAM.gov and SBIR/STTR solicitations, downloads the attached SOW/PWS/RFP PDFs and DOCX files, and extracts clearance level, LPTA vs. best value, incumbent contract numbers, page limits, compliance frameworks and every .gov/.mil contact. Optional BYOK LLM Go/No-Go summary.",
    "version": "1.0",
    "x-build-id": "dfsUyt1VZcGGqWoGk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/aimindteams~govcon-rfp-deep-parser/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-aimindteams-govcon-rfp-deep-parser",
        "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/aimindteams~govcon-rfp-deep-parser/runs": {
      "post": {
        "operationId": "runs-sync-aimindteams-govcon-rfp-deep-parser",
        "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/aimindteams~govcon-rfp-deep-parser/run-sync": {
      "post": {
        "operationId": "run-sync-aimindteams-govcon-rfp-deep-parser",
        "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": "Each keyword or phrase runs as its own SAM.gov full-text search (all words must match) and results are merged and de-duplicated. Leave empty to rely only on the NAICS/PSC/set-aside filters.",
            "default": [
              "artificial intelligence",
              "sensor fusion",
              "autonomous"
            ],
            "items": {
              "type": "string"
            }
          },
          "naicsCodes": {
            "title": "NAICS codes",
            "type": "array",
            "description": "Optional. Only return notices with one of these NAICS codes, for example 541511, 541715 or 541330.",
            "items": {
              "type": "string"
            }
          },
          "pscCodes": {
            "title": "PSC (product/service) codes",
            "type": "array",
            "description": "Optional. Only return notices with one of these Product Service Codes, for example AC12, R425 or 7A21.",
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "SAM.gov notice types to include.",
            "items": {
              "type": "string",
              "enum": [
                "o",
                "p",
                "k",
                "r",
                "s",
                "i",
                "u",
                "a"
              ],
              "enumTitles": [
                "Solicitation",
                "Presolicitation",
                "Combined Synopsis/Solicitation",
                "Sources Sought",
                "Special Notice",
                "Intent to Bundle Requirements (DoD)",
                "Justification (J&A)",
                "Award Notice"
              ]
            },
            "default": [
              "o",
              "p",
              "k",
              "r"
            ]
          },
          "setAsideTypes": {
            "title": "Set-aside types",
            "type": "array",
            "description": "Optional. Only return notices with one of these set-asides. Leave empty for all, including full and open competition.",
            "items": {
              "type": "string",
              "enum": [
                "SBA",
                "SBP",
                "8A",
                "8AN",
                "HZC",
                "HZS",
                "SDVOSBC",
                "SDVOSBS",
                "WOSB",
                "WOSBSS",
                "EDWOSB",
                "EDWOSBSS",
                "VSA",
                "VSS"
              ],
              "enumTitles": [
                "Total Small Business Set-Aside",
                "Partial Small Business Set-Aside",
                "8(a) Set-Aside",
                "8(a) Sole Source",
                "HUBZone Set-Aside",
                "HUBZone Sole Source",
                "Service-Disabled Veteran-Owned Small Business Set-Aside",
                "Service-Disabled Veteran-Owned Small Business Sole Source",
                "Women-Owned Small Business Program Set-Aside",
                "Women-Owned Small Business Program Sole Source",
                "Economically Disadvantaged WOSB Program Set-Aside",
                "Economically Disadvantaged WOSB Program Sole Source",
                "Veteran-Owned Small Business Set-Aside (VA)",
                "Veteran-Owned Small Business Sole Source (VA)"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted or updated within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Only return notices posted or modified in the last N days. Amendments count as updates, so scheduled runs catch new attachments.",
            "default": 7
          },
          "maxItems": {
            "title": "Maximum solicitations",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on how many solicitations are returned (and charged) in one run. Your Apify spending limit is also respected.",
            "default": 25
          },
          "includeSbir": {
            "title": "Include SBIR / STTR solicitations",
            "type": "boolean",
            "description": "Also search SBIR/STTR solicitations (SBIR.gov API, with automatic fallback to Grants.gov when SBIR.gov is unavailable) and every open or pre-release DoD SBIR/STTR topic from DSIP.",
            "default": true
          },
          "parseAttachments": {
            "title": "Download and deep-parse attachments",
            "type": "boolean",
            "description": "Stream the attached PDF, DOCX and ZIP files into memory and run the extraction engine over their text. Turn off for a fast metadata-only run.",
            "default": true
          },
          "maxAttachmentsPerNotice": {
            "title": "Max attachments per solicitation",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Cap PDF/DOCX downloads per solicitation to keep runs fast. Files that look like the SOW, PWS, RFP, Section L/M or instructions are downloaded first.",
            "default": 5
          },
          "includeAttachmentText": {
            "title": "Include full attachment text in output",
            "type": "boolean",
            "description": "Adds the cleaned extracted text of every parsed file (up to 100,000 characters per file) to the output. Useful for RAG pipelines and AI agents. Off by default to keep items small.",
            "default": false
          },
          "deduplicateAcrossRuns": {
            "title": "Only return new or updated solicitations",
            "type": "boolean",
            "description": "Turn this on for scheduled runs. A persistent Apify Key-Value Store (GOVCON-SEEN-IDS) remembers what earlier runs delivered, so each scheduled run only returns, and only charges for, new or updated RFPs. Each distinct combination of search filters keeps its own history. Leave it off for one-off searches and AI agents, which should get every match on every run.",
            "default": false
          },
          "llmProvider": {
            "title": "LLM provider (bring your own key)",
            "enum": [
              "none",
              "gemini",
              "openai",
              "anthropic"
            ],
            "type": "string",
            "description": "Optional AI pass that writes an executive Go/No-Go summary and a mandatory-requirements checklist for each solicitation. Billed to your own LLM account.",
            "default": "none"
          },
          "llmApiKey": {
            "title": "LLM API key",
            "type": "string",
            "description": "API key for the selected LLM provider."
          },
          "llmModel": {
            "title": "LLM model override",
            "type": "string",
            "description": "Optional. Leave empty to use the provider default (gemini-2.5-flash, gpt-4o-mini or claude-haiku-5-5)."
          },
          "samApiKey": {
            "title": "SAM.gov public API key (optional)",
            "type": "string",
            "description": "Optional. Adds the official SAM.gov Opportunities v2 API as a second discovery source (title search), which keeps runs working if the public website API is throttled. Get a free key under Account Details on SAM.gov."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "SAM.gov does not normally need a proxy. Enable Apify Proxy (datacenter) if you run very large or very frequent searches and start seeing HTTP 429 or 403 responses. Residential proxies are not needed and are replaced with datacenter proxies.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}