{
  "openapi": "3.0.1",
  "info": {
    "title": "TED Tender Scraper & SAM.gov Scraper — Daily Digest",
    "description": "EU TED + US SAM.gov in one dataset, CPV/NAICS filters, daily alerts. Government tenders from TED and SAM.gov in one feed. Daily only-new digests with CPV/NAICS, country and date filters; UK Find a Tender and US contract awards included. Organization-level data only.",
    "version": "0.4",
    "x-build-id": "0H4rqKpiJMynTSHhH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/carmentara~procurement-radar/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-carmentara-procurement-radar",
        "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/carmentara~procurement-radar/runs": {
      "post": {
        "operationId": "runs-sync-carmentara-procurement-radar",
        "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/carmentara~procurement-radar/run-sync": {
      "post": {
        "operationId": "run-sync-carmentara-procurement-radar",
        "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",
        "required": [
          "sources"
        ],
        "properties": {
          "sources": {
            "title": "Sources",
            "type": "array",
            "description": "Which procurement sources to search. EU TED (Tenders Electronic Daily, the official EU tender journal), UK Find a Tender and USAspending.gov need no API key; SAM.gov needs your own free SAM.gov API key. USAspending.gov returns US federal contract awards (who won, for how much), not open tenders. Default: TED only.",
            "items": {
              "type": "string",
              "enum": [
                "sam",
                "ted",
                "fts",
                "usaspending"
              ],
              "enumTitles": [
                "US SAM.gov (open opportunities, needs your key)",
                "EU TED",
                "UK Find a Tender",
                "US contract awards (USAspending.gov)"
              ]
            }
          },
          "includeClosed": {
            "title": "Include closed (past deadline) notices",
            "type": "boolean",
            "description": "When false (default), notices whose submission deadline has already passed are dropped, so you only get tenders you can still bid on. Set true to also get closed TED, UK and SAM.gov notices (useful for market research or back-fills by country and CPV)."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Free-text keywords. TED: matched against notice title and description. UK Find a Tender: title and description (case-insensitive, any keyword matches). SAM.gov: title. USAspending.gov: award keyword search. Combine with CPV codes and country to narrow results, e.g. 'software' + CPV 72000000 + country DE.",
            "items": {
              "type": "string"
            }
          },
          "cpvCodes": {
            "title": "CPV codes (TED, UK Find a Tender)",
            "type": "array",
            "description": "CPV (Common Procurement Vocabulary) codes to filter TED and UK Find a Tender notices, e.g. 72000000 (IT services) or 48000000 (software). Prefix match: a notice matches if any of its CPV codes starts with one of yours, so 72000000 covers all 72xxxxxx IT services. Ignored by SAM.gov and USAspending.gov (use NAICS there).",
            "items": {
              "type": "string"
            }
          },
          "naicsCodes": {
            "title": "NAICS codes (SAM.gov, USAspending.gov)",
            "type": "array",
            "description": "NAICS codes to filter SAM.gov and USAspending.gov, e.g. 541511 (custom software). The US equivalent of CPV; ignored by TED and UK Find a Tender.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Buyer country filter as ISO country codes (2- or 3-letter), e.g. DE, FR, PL, GB, US. Applied per source: TED expects EU/EEA buyer countries (mapped to ISO‑3); non‑EU/EEA codes are ignored for TED with a warning, and if none apply TED is skipped. SAM.gov and USAspending.gov are US-only: if you provide only non‑US codes, they are skipped with a warning. UK Find a Tender is UK-only: it runs only when the list is empty or includes GB, GBR or UK. When omitted, no country filter is applied. Use it with CPV codes to get, for example, all German IT tenders on TED.",
            "items": {
              "type": "string"
            }
          },
          "dateFilter": {
            "title": "Date filter",
            "enum": [
              "publicationDate",
              "deadline"
            ],
            "type": "string",
            "description": "Which date the date range applies to: the notice publication date (default; best for daily 'new tenders' monitoring on TED) or the submission deadline (e.g. TED tenders with a deadline in the next 30 days)."
          },
          "dateFrom": {
            "title": "Date from (ISO)",
            "type": "string",
            "description": "Start of the date range, inclusive, applied to publication date or deadline (see Date filter), e.g. 2026-01-01 or 2026-01-01T00:00:00Z."
          },
          "dateTo": {
            "title": "Date to (ISO)",
            "type": "string",
            "description": "End of the date range, inclusive, applied to publication date or deadline (see Date filter), e.g. 2026-12-31 or 2026-12-31T23:59:59Z."
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Filter by source-specific notice types. TED: e.g. cn-standard (contract notice), pin-only (prior information), can-standard (award). SAM.gov: Sources Sought, Presolicitation, Solicitation. UK Find a Tender: tender, planning, tenderUpdate, award/contract. USAspending.gov: DEFINITIVE CONTRACT, PURCHASE ORDER, DELIVERY ORDER, BPA CALL. Types that do not belong to a source are ignored for that source. Leave empty for all open notices.",
            "items": {
              "type": "string"
            }
          },
          "includeAwardResults": {
            "title": "Include award/result notices",
            "type": "boolean",
            "description": "When false (default), award/result notices (e.g. TED can-standard, UK Find a Tender award notices) are excluded so you only get open tenders with a deadline. Set true to also get awards with winners and values. USAspending.gov always returns awards."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many results in total across all sources (TED, UK, SAM.gov, USAspending.gov); 0 means no cap. You pay per result, so this also caps cost: 1,000 results = $3."
          },
          "onlyNew": {
            "title": "Only new since last run",
            "type": "boolean",
            "description": "Return only notices not seen in earlier successful runs (per-source dedupe stored in the run's key-value store). Keep this on for scheduled daily TED / CPV / country alerts so you never pay twice for the same notice."
          },
          "includeRaw": {
            "title": "Include raw record",
            "type": "boolean",
            "description": "Add a `raw` field with the original source payload (TED, UK Find a Tender, SAM.gov or USAspending.gov). Personal data (names, emails, phone numbers) is stripped before output. Off by default to keep rows small."
          },
          "samApiKey": {
            "title": "SAM.gov API key",
            "type": "string",
            "description": "Your own free SAM.gov public API key (get it at sam.gov > Account Details). Only required when SAM.gov is selected; TED, UK Find a Tender and USAspending.gov need no key. Stored as a secret."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}