{
  "openapi": "3.0.1",
  "info": {
    "title": "Tenders Radar — Public Tenders & Contract Awards",
    "description": "Public tenders and awards from 17 official portals in one schema: US SAM.gov and USAspending, EU TED and EU institutions, UK, France, Spain, Germany, India GeM, Brazil, Ukraine, Canada, Colombia, Australia, South Africa. Country, state, sector, value filters. From $4/1k.",
    "version": "0.2",
    "x-build-id": "uPj7hzSzW7EVhKnyN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tacps126~tenders-radar/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tacps126-tenders-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/tacps126~tenders-radar/runs": {
      "post": {
        "operationId": "runs-sync-tacps126-tenders-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/tacps126~tenders-radar/run-sync": {
      "post": {
        "operationId": "run-sync-tacps126-tenders-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",
        "properties": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Words or phrases matched on title and description (whole words). They match literally, so add translations for non-English portals (e.g. software, logiciel, Software), or use sectors and codes, which work in every language.",
            "items": {
              "type": "string"
            }
          },
          "sectors": {
            "title": "Sectors",
            "type": "array",
            "description": "Only tenders in these sectors, from their CPV / UNSPSC codes and words in several languages.",
            "items": {
              "type": "string",
              "enum": [
                "banking",
                "securities",
                "insurance",
                "tax",
                "trade",
                "health",
                "food",
                "energy",
                "environment",
                "tech",
                "transport",
                "employment",
                "housing",
                "defense",
                "education"
              ],
              "enumTitles": [
                "Banking & payments",
                "Securities & capital markets",
                "Insurance & pensions",
                "Tax & customs",
                "Trade, sanctions & export control",
                "Health & pharma",
                "Food & agriculture",
                "Energy",
                "Environment & climate",
                "Technology, AI & data",
                "Transport & aviation",
                "Employment & labour",
                "Construction, housing & real estate",
                "Defence & security",
                "Education"
              ]
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "ISO codes or names: CA, GB, FR, DE, ES, NL, CO, AU, ZA, or EU for every EU/EEA country on TED. Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "States / regions",
            "type": "array",
            "description": "Only notices for these states, provinces or regions: where the work is done or the buyer sits. Pick from the list or type a name or ISO code (Kerala, Texas, IN-MH, Bavaria); names are checked and misspellings get a suggestion. Notices whose region can't be told are left out when states are chosen.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "IN-AN",
                "IN-AP",
                "IN-AR",
                "IN-AS",
                "IN-BR",
                "IN-CH",
                "IN-CG",
                "IN-DH",
                "IN-DL",
                "IN-GA",
                "IN-GJ",
                "IN-HR",
                "IN-HP",
                "IN-JK",
                "IN-JH",
                "IN-KA",
                "IN-KL",
                "IN-LA",
                "IN-LD",
                "IN-MP",
                "IN-MH",
                "IN-MN",
                "IN-ML",
                "IN-MZ",
                "IN-NL",
                "IN-OD",
                "IN-PY",
                "IN-PB",
                "IN-RJ",
                "IN-SK",
                "IN-TN",
                "IN-TS",
                "IN-TR",
                "IN-UP",
                "IN-UK",
                "IN-WB",
                "US-AL",
                "US-AK",
                "US-AS",
                "US-AZ",
                "US-AR",
                "US-CA",
                "US-CO",
                "US-CT",
                "US-DE",
                "US-DC",
                "US-FL",
                "US-GA",
                "US-GU",
                "US-HI",
                "US-ID",
                "US-IL",
                "US-IN",
                "US-IA",
                "US-KS",
                "US-KY",
                "US-LA",
                "US-ME",
                "US-MD",
                "US-MA",
                "US-MI",
                "US-MN",
                "US-MS",
                "US-MO",
                "US-MT",
                "US-NE",
                "US-NV",
                "US-NH",
                "US-NJ",
                "US-NM",
                "US-NY",
                "US-NC",
                "US-ND",
                "US-MP",
                "US-OH",
                "US-OK",
                "US-OR",
                "US-PA",
                "US-PR",
                "US-RI",
                "US-SC",
                "US-SD",
                "US-TN",
                "US-TX",
                "US-UM",
                "US-UT",
                "US-VT",
                "US-VI",
                "US-VA",
                "US-WA",
                "US-WV",
                "US-WI",
                "US-WY",
                "BR-AC",
                "BR-AL",
                "BR-AP",
                "BR-AM",
                "BR-BA",
                "BR-CE",
                "BR-DF",
                "BR-ES",
                "BR-GO",
                "BR-MA",
                "BR-MT",
                "BR-MS",
                "BR-MG",
                "BR-PR",
                "BR-PB",
                "BR-PA",
                "BR-PE",
                "BR-PI",
                "BR-RN",
                "BR-RS",
                "BR-RJ",
                "BR-RO",
                "BR-RR",
                "BR-SC",
                "BR-SE",
                "BR-SP",
                "BR-TO",
                "CA-AB",
                "CA-BC",
                "CA-MB",
                "CA-NB",
                "CA-NL",
                "CA-NT",
                "CA-NS",
                "CA-NU",
                "CA-ON",
                "CA-PE",
                "CA-QC",
                "CA-SK",
                "CA-YT",
                "AU-ACT",
                "AU-NSW",
                "AU-NT",
                "AU-QLD",
                "AU-SA",
                "AU-TAS",
                "AU-VIC",
                "AU-WA",
                "DE-BW",
                "DE-BY",
                "DE-BE",
                "DE-BB",
                "DE-HB",
                "DE-HH",
                "DE-HE",
                "DE-MV",
                "DE-NI",
                "DE-NW",
                "DE-RP",
                "DE-SL",
                "DE-SN",
                "DE-ST",
                "DE-SH",
                "DE-TH",
                "GB-ENG",
                "GB-NIR",
                "GB-SCT",
                "GB-WLS",
                "FR-ARA",
                "FR-BFC",
                "FR-BRE",
                "FR-CVL",
                "FR-CP",
                "FR-20R",
                "FR-GES",
                "FR-HDF",
                "FR-NOR",
                "FR-NAQ",
                "FR-NC",
                "FR-OCC",
                "FR-PDL",
                "FR-PAC",
                "FR-TF",
                "FR-IDF",
                "ES-AN",
                "ES-AR",
                "ES-AS",
                "ES-CN",
                "ES-CB",
                "ES-CL",
                "ES-CM",
                "ES-CT",
                "ES-EX",
                "ES-GA",
                "ES-IB",
                "ES-RI",
                "ES-MD",
                "ES-MC",
                "ES-NC",
                "ES-PV",
                "ES-VC",
                "IT-65",
                "IT-77",
                "IT-78",
                "IT-72",
                "IT-45",
                "IT-36",
                "IT-62",
                "IT-42",
                "IT-25",
                "IT-57",
                "IT-67",
                "IT-21",
                "IT-75",
                "IT-88",
                "IT-82",
                "IT-52",
                "IT-32",
                "IT-55",
                "IT-23",
                "IT-34",
                "NL-DR",
                "NL-FL",
                "NL-FR",
                "NL-GE",
                "NL-GR",
                "NL-LI",
                "NL-NB",
                "NL-NH",
                "NL-OV",
                "NL-UT",
                "NL-ZE",
                "NL-ZH",
                "UA-43",
                "UA-71",
                "UA-74",
                "UA-77",
                "UA-12",
                "UA-14",
                "UA-26",
                "UA-63",
                "UA-65",
                "UA-68",
                "UA-35",
                "UA-30",
                "UA-32",
                "UA-09",
                "UA-46",
                "UA-48",
                "UA-51",
                "UA-53",
                "UA-56",
                "UA-40",
                "UA-59",
                "UA-61",
                "UA-05",
                "UA-07",
                "UA-21",
                "UA-23",
                "UA-18",
                "ZA-EC",
                "ZA-FS",
                "ZA-GP",
                "ZA-KZN",
                "ZA-LP",
                "ZA-MP",
                "ZA-NW",
                "ZA-NC",
                "ZA-WC",
                "CO-AMA",
                "CO-ANT",
                "CO-ARA",
                "CO-ATL",
                "CO-BOL",
                "CO-BOY",
                "CO-CAL",
                "CO-CAQ",
                "CO-CAS",
                "CO-CAU",
                "CO-CES",
                "CO-CHO",
                "CO-CUN",
                "CO-COR",
                "CO-DC",
                "CO-GUA",
                "CO-GUV",
                "CO-HUI",
                "CO-LAG",
                "CO-MAG",
                "CO-MET",
                "CO-NAR",
                "CO-NSA",
                "CO-PUT",
                "CO-QUI",
                "CO-RIS",
                "CO-SAP",
                "CO-SAN",
                "CO-SUC",
                "CO-TOL",
                "CO-VAC",
                "CO-VAU",
                "CO-VID",
                "AT-1",
                "AT-2",
                "AT-3",
                "AT-4",
                "AT-5",
                "AT-6",
                "AT-7",
                "AT-8",
                "AT-9",
                "MX-AGU",
                "MX-BCN",
                "MX-BCS",
                "MX-CAM",
                "MX-CHP",
                "MX-CHH",
                "MX-CMX",
                "MX-COA",
                "MX-COL",
                "MX-DUR",
                "MX-GUA",
                "MX-GRO",
                "MX-HID",
                "MX-JAL",
                "MX-MIC",
                "MX-MOR",
                "MX-MEX",
                "MX-NAY",
                "MX-NLE",
                "MX-OAX",
                "MX-PUE",
                "MX-QUE",
                "MX-ROO",
                "MX-SLP",
                "MX-SIN",
                "MX-SON",
                "MX-TAB",
                "MX-TAM",
                "MX-TLA",
                "MX-VER",
                "MX-YUC",
                "MX-ZAC",
                "JP-23",
                "JP-05",
                "JP-02",
                "JP-12",
                "JP-38",
                "JP-18",
                "JP-40",
                "JP-07",
                "JP-21",
                "JP-10",
                "JP-34",
                "JP-01",
                "JP-28",
                "JP-08",
                "JP-17",
                "JP-03",
                "JP-37",
                "JP-46",
                "JP-14",
                "JP-39",
                "JP-43",
                "JP-26",
                "JP-24",
                "JP-04",
                "JP-45",
                "JP-20",
                "JP-42",
                "JP-29",
                "JP-15",
                "JP-44",
                "JP-33",
                "JP-47",
                "JP-27",
                "JP-41",
                "JP-11",
                "JP-25",
                "JP-32",
                "JP-22",
                "JP-09",
                "JP-36",
                "JP-13",
                "JP-31",
                "JP-16",
                "JP-30",
                "JP-06",
                "JP-35",
                "JP-19",
                "NG-AB",
                "NG-FC",
                "NG-AD",
                "NG-AK",
                "NG-AN",
                "NG-BA",
                "NG-BY",
                "NG-BE",
                "NG-BO",
                "NG-CR",
                "NG-DE",
                "NG-EB",
                "NG-ED",
                "NG-EK",
                "NG-EN",
                "NG-GO",
                "NG-IM",
                "NG-JI",
                "NG-KD",
                "NG-KN",
                "NG-KT",
                "NG-KE",
                "NG-KO",
                "NG-KW",
                "NG-LA",
                "NG-NA",
                "NG-NI",
                "NG-OG",
                "NG-ON",
                "NG-OS",
                "NG-OY",
                "NG-PL",
                "NG-RI",
                "NG-SO",
                "NG-TA",
                "NG-YO",
                "NG-ZA"
              ],
              "enumTitles": [
                "Andaman and Nicobar Islands (India)",
                "Andhra Pradesh (India)",
                "Arunachal Pradesh (India)",
                "Assam (India)",
                "Bihar (India)",
                "Chandigarh (India)",
                "Chhattisgarh (India)",
                "Dadra and Nagar Haveli and Daman and Diu (India)",
                "Delhi (India)",
                "Goa (India)",
                "Gujarat (India)",
                "Haryana (India)",
                "Himachal Pradesh (India)",
                "Jammu and Kashmir (India)",
                "Jharkhand (India)",
                "Karnataka (India)",
                "Kerala (India)",
                "Ladakh (India)",
                "Lakshadweep (India)",
                "Madhya Pradesh (India)",
                "Maharashtra (India)",
                "Manipur (India)",
                "Meghalaya (India)",
                "Mizoram (India)",
                "Nagaland (India)",
                "Odisha (India)",
                "Puducherry (India)",
                "Punjab (India)",
                "Rajasthan (India)",
                "Sikkim (India)",
                "Tamil Nadu (India)",
                "Telangana (India)",
                "Tripura (India)",
                "Uttar Pradesh (India)",
                "Uttarakhand (India)",
                "West Bengal (India)",
                "Alabama (United States)",
                "Alaska (United States)",
                "American Samoa (United States)",
                "Arizona (United States)",
                "Arkansas (United States)",
                "California (United States)",
                "Colorado (United States)",
                "Connecticut (United States)",
                "Delaware (United States)",
                "District of Columbia (United States)",
                "Florida (United States)",
                "Georgia (United States)",
                "Guam (United States)",
                "Hawaii (United States)",
                "Idaho (United States)",
                "Illinois (United States)",
                "Indiana (United States)",
                "Iowa (United States)",
                "Kansas (United States)",
                "Kentucky (United States)",
                "Louisiana (United States)",
                "Maine (United States)",
                "Maryland (United States)",
                "Massachusetts (United States)",
                "Michigan (United States)",
                "Minnesota (United States)",
                "Mississippi (United States)",
                "Missouri (United States)",
                "Montana (United States)",
                "Nebraska (United States)",
                "Nevada (United States)",
                "New Hampshire (United States)",
                "New Jersey (United States)",
                "New Mexico (United States)",
                "New York (United States)",
                "North Carolina (United States)",
                "North Dakota (United States)",
                "Northern Mariana Islands (United States)",
                "Ohio (United States)",
                "Oklahoma (United States)",
                "Oregon (United States)",
                "Pennsylvania (United States)",
                "Puerto Rico (United States)",
                "Rhode Island (United States)",
                "South Carolina (United States)",
                "South Dakota (United States)",
                "Tennessee (United States)",
                "Texas (United States)",
                "United States Minor Outlying Islands (United States)",
                "Utah (United States)",
                "Vermont (United States)",
                "Virgin Islands, U.S. (United States)",
                "Virginia (United States)",
                "Washington (United States)",
                "West Virginia (United States)",
                "Wisconsin (United States)",
                "Wyoming (United States)",
                "Acre (Brazil)",
                "Alagoas (Brazil)",
                "Amapá (Brazil)",
                "Amazonas (Brazil)",
                "Bahia (Brazil)",
                "Ceará (Brazil)",
                "Distrito Federal (Brazil)",
                "Espírito Santo (Brazil)",
                "Goiás (Brazil)",
                "Maranhão (Brazil)",
                "Mato Grosso (Brazil)",
                "Mato Grosso do Sul (Brazil)",
                "Minas Gerais (Brazil)",
                "Paraná (Brazil)",
                "Paraíba (Brazil)",
                "Pará (Brazil)",
                "Pernambuco (Brazil)",
                "Piauí (Brazil)",
                "Rio Grande do Norte (Brazil)",
                "Rio Grande do Sul (Brazil)",
                "Rio de Janeiro (Brazil)",
                "Rondônia (Brazil)",
                "Roraima (Brazil)",
                "Santa Catarina (Brazil)",
                "Sergipe (Brazil)",
                "São Paulo (Brazil)",
                "Tocantins (Brazil)",
                "Alberta (Canada)",
                "British Columbia (Canada)",
                "Manitoba (Canada)",
                "New Brunswick (Canada)",
                "Newfoundland and Labrador (Canada)",
                "Northwest Territories (Canada)",
                "Nova Scotia (Canada)",
                "Nunavut (Canada)",
                "Ontario (Canada)",
                "Prince Edward Island (Canada)",
                "Quebec (Canada)",
                "Saskatchewan (Canada)",
                "Yukon (Canada)",
                "Australian Capital Territory (Australia)",
                "New South Wales (Australia)",
                "Northern Territory (Australia)",
                "Queensland (Australia)",
                "South Australia (Australia)",
                "Tasmania (Australia)",
                "Victoria (Australia)",
                "Western Australia (Australia)",
                "Baden-Württemberg (Germany)",
                "Bayern (Germany)",
                "Berlin (Germany)",
                "Brandenburg (Germany)",
                "Bremen (Germany)",
                "Hamburg (Germany)",
                "Hessen (Germany)",
                "Mecklenburg-Vorpommern (Germany)",
                "Niedersachsen (Germany)",
                "Nordrhein-Westfalen (Germany)",
                "Rheinland-Pfalz (Germany)",
                "Saarland (Germany)",
                "Sachsen (Germany)",
                "Sachsen-Anhalt (Germany)",
                "Schleswig-Holstein (Germany)",
                "Thüringen (Germany)",
                "England (United Kingdom)",
                "Northern Ireland (United Kingdom)",
                "Scotland (United Kingdom)",
                "Wales [Cymru GB-CYM] (United Kingdom)",
                "Auvergne-Rhône-Alpes (France)",
                "Bourgogne-Franche-Comté (France)",
                "Bretagne (France)",
                "Centre-Val de Loire (France)",
                "Clipperton (France)",
                "Corse (France)",
                "Grand-Est (France)",
                "Hauts-de-France (France)",
                "Normandie (France)",
                "Nouvelle-Aquitaine (France)",
                "Nouvelle-Calédonie (France)",
                "Occitanie (France)",
                "Pays-de-la-Loire (France)",
                "Provence-Alpes-Côte-d’Azur (France)",
                "Terres australes françaises (France)",
                "Île-de-France (France)",
                "Andalucía (Spain)",
                "Aragón (Spain)",
                "Asturias, Principado de (Spain)",
                "Canarias (Spain)",
                "Cantabria (Spain)",
                "Castilla y León (Spain)",
                "Castilla-La Mancha (Spain)",
                "Catalunya [Cataluña] (Spain)",
                "Extremadura (Spain)",
                "Galicia [Galicia] (Spain)",
                "Illes Balears [Islas Baleares] (Spain)",
                "La Rioja (Spain)",
                "Madrid, Comunidad de (Spain)",
                "Murcia, Región de (Spain)",
                "Navarra, Comunidad Foral de (Spain)",
                "País Vasco (Spain)",
                "Valenciana, Comunidad (Spain)",
                "Abruzzo (Italy)",
                "Basilicata (Italy)",
                "Calabria (Italy)",
                "Campania (Italy)",
                "Emilia-Romagna (Italy)",
                "Friuli Venezia Giulia (Italy)",
                "Lazio (Italy)",
                "Liguria (Italy)",
                "Lombardia (Italy)",
                "Marche (Italy)",
                "Molise (Italy)",
                "Piemonte (Italy)",
                "Puglia (Italy)",
                "Sardegna (Italy)",
                "Sicilia (Italy)",
                "Toscana (Italy)",
                "Trentino-Alto Adige (Italy)",
                "Umbria (Italy)",
                "Valle d'Aosta (Italy)",
                "Veneto (Italy)",
                "Drenthe (Netherlands)",
                "Flevoland (Netherlands)",
                "Fryslân (Netherlands)",
                "Gelderland (Netherlands)",
                "Groningen (Netherlands)",
                "Limburg (Netherlands)",
                "Noord-Brabant (Netherlands)",
                "Noord-Holland (Netherlands)",
                "Overijssel (Netherlands)",
                "Utrecht (Netherlands)",
                "Zeeland (Netherlands)",
                "Zuid-Holland (Netherlands)",
                "Avtonomna Respublika Krym (Ukraine)",
                "Cherkaska oblast (Ukraine)",
                "Chernihivska oblast (Ukraine)",
                "Chernivetska oblast (Ukraine)",
                "Dnipropetrovska oblast (Ukraine)",
                "Donetska oblast (Ukraine)",
                "Ivano-Frankivska oblast (Ukraine)",
                "Kharkivska oblast (Ukraine)",
                "Khersonska oblast (Ukraine)",
                "Khmelnytska oblast (Ukraine)",
                "Kirovohradska oblast (Ukraine)",
                "Kyiv (Ukraine)",
                "Kyivska oblast (Ukraine)",
                "Luhanska oblast (Ukraine)",
                "Lvivska oblast (Ukraine)",
                "Mykolaivska oblast (Ukraine)",
                "Odeska oblast (Ukraine)",
                "Poltavska oblast (Ukraine)",
                "Rivnenska oblast (Ukraine)",
                "Sevastopol (Ukraine)",
                "Sumska oblast (Ukraine)",
                "Ternopilska oblast (Ukraine)",
                "Vinnytska oblast (Ukraine)",
                "Volynska oblast (Ukraine)",
                "Zakarpatska oblast (Ukraine)",
                "Zaporizka oblast (Ukraine)",
                "Zhytomyrska oblast (Ukraine)",
                "Eastern Cape (South Africa)",
                "Free State (South Africa)",
                "Gauteng (South Africa)",
                "Kwazulu-Natal (South Africa)",
                "Limpopo (South Africa)",
                "Mpumalanga (South Africa)",
                "North-West (South Africa)",
                "Northern Cape (South Africa)",
                "Western Cape (South Africa)",
                "Amazonas (Colombia)",
                "Antioquia (Colombia)",
                "Arauca (Colombia)",
                "Atlántico (Colombia)",
                "Bolívar (Colombia)",
                "Boyacá (Colombia)",
                "Caldas (Colombia)",
                "Caquetá (Colombia)",
                "Casanare (Colombia)",
                "Cauca (Colombia)",
                "Cesar (Colombia)",
                "Chocó (Colombia)",
                "Cundinamarca (Colombia)",
                "Córdoba (Colombia)",
                "Distrito Capital de Bogotá (Colombia)",
                "Guainía (Colombia)",
                "Guaviare (Colombia)",
                "Huila (Colombia)",
                "La Guajira (Colombia)",
                "Magdalena (Colombia)",
                "Meta (Colombia)",
                "Nariño (Colombia)",
                "Norte de Santander (Colombia)",
                "Putumayo (Colombia)",
                "Quindío (Colombia)",
                "Risaralda (Colombia)",
                "San Andrés, Providencia y Santa Catalina (Colombia)",
                "Santander (Colombia)",
                "Sucre (Colombia)",
                "Tolima (Colombia)",
                "Valle del Cauca (Colombia)",
                "Vaupés (Colombia)",
                "Vichada (Colombia)",
                "Burgenland (Austria)",
                "Kärnten (Austria)",
                "Niederösterreich (Austria)",
                "Oberösterreich (Austria)",
                "Salzburg (Austria)",
                "Steiermark (Austria)",
                "Tirol (Austria)",
                "Vorarlberg (Austria)",
                "Wien (Austria)",
                "Aguascalientes (Mexico)",
                "Baja California (Mexico)",
                "Baja California Sur (Mexico)",
                "Campeche (Mexico)",
                "Chiapas (Mexico)",
                "Chihuahua (Mexico)",
                "Ciudad de México (Mexico)",
                "Coahuila de Zaragoza (Mexico)",
                "Colima (Mexico)",
                "Durango (Mexico)",
                "Guanajuato (Mexico)",
                "Guerrero (Mexico)",
                "Hidalgo (Mexico)",
                "Jalisco (Mexico)",
                "Michoacán de Ocampo (Mexico)",
                "Morelos (Mexico)",
                "México (Mexico)",
                "Nayarit (Mexico)",
                "Nuevo León (Mexico)",
                "Oaxaca (Mexico)",
                "Puebla (Mexico)",
                "Querétaro (Mexico)",
                "Quintana Roo (Mexico)",
                "San Luis Potosí (Mexico)",
                "Sinaloa (Mexico)",
                "Sonora (Mexico)",
                "Tabasco (Mexico)",
                "Tamaulipas (Mexico)",
                "Tlaxcala (Mexico)",
                "Veracruz de Ignacio de la Llave (Mexico)",
                "Yucatán (Mexico)",
                "Zacatecas (Mexico)",
                "Aichi (Japan)",
                "Akita (Japan)",
                "Aomori (Japan)",
                "Chiba (Japan)",
                "Ehime (Japan)",
                "Fukui (Japan)",
                "Fukuoka (Japan)",
                "Fukushima (Japan)",
                "Gifu (Japan)",
                "Gunma (Japan)",
                "Hiroshima (Japan)",
                "Hokkaido (Japan)",
                "Hyogo (Japan)",
                "Ibaraki (Japan)",
                "Ishikawa (Japan)",
                "Iwate (Japan)",
                "Kagawa (Japan)",
                "Kagoshima (Japan)",
                "Kanagawa (Japan)",
                "Kochi (Japan)",
                "Kumamoto (Japan)",
                "Kyoto (Japan)",
                "Mie (Japan)",
                "Miyagi (Japan)",
                "Miyazaki (Japan)",
                "Nagano (Japan)",
                "Nagasaki (Japan)",
                "Nara (Japan)",
                "Niigata (Japan)",
                "Oita (Japan)",
                "Okayama (Japan)",
                "Okinawa (Japan)",
                "Osaka (Japan)",
                "Saga (Japan)",
                "Saitama (Japan)",
                "Shiga (Japan)",
                "Shimane (Japan)",
                "Shizuoka (Japan)",
                "Tochigi (Japan)",
                "Tokushima (Japan)",
                "Tokyo (Japan)",
                "Tottori (Japan)",
                "Toyama (Japan)",
                "Wakayama (Japan)",
                "Yamagata (Japan)",
                "Yamaguchi (Japan)",
                "Yamanashi (Japan)",
                "Abia (Nigeria)",
                "Abuja Federal Capital Territory (Nigeria)",
                "Adamawa (Nigeria)",
                "Akwa Ibom (Nigeria)",
                "Anambra (Nigeria)",
                "Bauchi (Nigeria)",
                "Bayelsa (Nigeria)",
                "Benue (Nigeria)",
                "Borno (Nigeria)",
                "Cross River (Nigeria)",
                "Delta (Nigeria)",
                "Ebonyi (Nigeria)",
                "Edo (Nigeria)",
                "Ekiti (Nigeria)",
                "Enugu (Nigeria)",
                "Gombe (Nigeria)",
                "Imo (Nigeria)",
                "Jigawa (Nigeria)",
                "Kaduna (Nigeria)",
                "Kano (Nigeria)",
                "Katsina (Nigeria)",
                "Kebbi (Nigeria)",
                "Kogi (Nigeria)",
                "Kwara (Nigeria)",
                "Lagos (Nigeria)",
                "Nasarawa (Nigeria)",
                "Niger (Nigeria)",
                "Ogun (Nigeria)",
                "Ondo (Nigeria)",
                "Osun (Nigeria)",
                "Oyo (Nigeria)",
                "Plateau (Nigeria)",
                "Rivers (Nigeria)",
                "Sokoto (Nigeria)",
                "Taraba (Nigeria)",
                "Yobe (Nigeria)",
                "Zamfara (Nigeria)"
              ]
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Which kinds of notice to return. Default: tenders you can still bid on.",
            "items": {
              "type": "string",
              "enum": [
                "tender",
                "award",
                "planning",
                "amendment",
                "cancellation"
              ],
              "enumTitles": [
                "Open opportunities (tenders)",
                "Contract awards",
                "Planned procurement",
                "Amendments",
                "Cancellations"
              ]
            },
            "default": [
              "tender"
            ]
          },
          "openOnly": {
            "title": "Only open for bids",
            "type": "boolean",
            "description": "For tenders, keep only those whose deadline hasn't passed (or isn't published).",
            "default": true
          },
          "codes": {
            "title": "CPV / UNSPSC codes",
            "type": "array",
            "description": "Code prefixes, e.g. 72 (IT services, CPV), 45 (construction, CPV), 4321 (computers, UNSPSC), 5415 (IT services, US NAICS), DA (IT services, US PSC).",
            "items": {
              "type": "string"
            }
          },
          "minValue": {
            "title": "Minimum value",
            "type": "number",
            "description": "Only tenders with an estimated value at least this much, in the notice's own currency."
          },
          "maxValue": {
            "title": "Maximum value",
            "type": "number",
            "description": "Leave out tenders worth more than this, in the notice's own currency."
          },
          "postedWithinDays": {
            "title": "Published within (days)",
            "minimum": 1,
            "maximum": 90,
            "type": "integer",
            "description": "Only notices published in the last N days.",
            "default": 3
          },
          "sources": {
            "title": "Sources (optional)",
            "type": "array",
            "description": "Pick specific portals instead of countries.",
            "items": {
              "type": "string",
              "enum": [
                "us-sam",
                "us-usaspending",
                "eu-ted",
                "uk-fts",
                "uk-cf",
                "fr-boamp",
                "de-bund",
                "nl-tenderned",
                "ca-canadabuys",
                "co-secop",
                "es-placsp",
                "au-austender",
                "za-etenders",
                "ua-prozorro",
                "eu-ft",
                "br-pncp",
                "in-gem"
              ],
              "enumTitles": [
                "United States — SAM.gov (federal)",
                "United States — USAspending new contract awards",
                "EU — TED (every EU/EEA tender above thresholds)",
                "UK — Find a Tender",
                "UK — Contracts Finder",
                "France — BOAMP",
                "Germany — service.bund.de",
                "Netherlands — TenderNed",
                "Canada — CanadaBuys",
                "Colombia — SECOP II",
                "Spain — Plataforma de Contratación (PLACSP)",
                "Australia — AusTender (awards)",
                "South Africa — eTenders",
                "Ukraine — Prozorro (open tenders)",
                "EU institutions — Funding & Tenders portal",
                "Brazil — PNCP (federal, state and municipal)",
                "India — GeM (Government e-Marketplace) bids"
              ]
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Leave out notices whose title or description contains any of these.",
            "items": {
              "type": "string"
            }
          },
          "maxItemsPerSource": {
            "title": "Max notices per source",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Most notices kept from each portal (after filters).",
            "default": 200
          },
          "maxItems": {
            "title": "Max notices in total",
            "minimum": 1,
            "type": "integer",
            "description": "Most notices returned by the run.",
            "default": 500
          },
          "aiInsights": {
            "title": "AI insights",
            "type": "boolean",
            "description": "Add an `insight` to each notice: a plain-language summary, key points, what to do and by when, and more. With a profile, also a 0-100 fit score and its reason.",
            "default": false
          },
          "aiProfile": {
            "title": "Your profile (for the fit score)",
            "type": "string",
            "description": "What your organisation does and looks for, e.g. \"We build and maintain cloud data platforms for public bodies in Germany and Austria; contracts above €100k\". Each insight then scores how well the notice fits."
          },
          "aiLanguage": {
            "title": "Insight language",
            "type": "string",
            "description": "Insights are written in this language, whatever the source language.",
            "default": "English"
          },
          "maxInsights": {
            "title": "Max insights per run",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Insights are added to the first N notices (most relevant first); the rest are delivered without one.",
            "default": 25
          },
          "aiProvider": {
            "title": "AI provider",
            "enum": [
              "apify",
              "anthropic",
              "openai",
              "gemini",
              "openrouter",
              "groq",
              "mistral",
              "deepseek",
              "compatible"
            ],
            "type": "string",
            "description": "Which AI does the analysis. Apify needs no key: the model runs through Apify's OpenRouter proxy and is billed to your Apify account. Any other provider uses your own key and bills you there.",
            "default": "apify"
          },
          "aiApiKey": {
            "title": "AI API key",
            "type": "string",
            "description": "Your own key for the provider above (not needed for Apify). Sent only to that provider, never stored."
          },
          "aiModel": {
            "title": "AI model",
            "type": "string",
            "description": "Model name. Apify: an OpenRouter id like anthropic/claude-sonnet-… or google/gemini-… (default: the newest Claude Haiku listed, a light model since it runs once per result). Anthropic: default claude-opus-5-5. Others: required."
          },
          "aiBaseUrl": {
            "title": "API base URL",
            "type": "string",
            "description": "Only for \"Other OpenAI-compatible API\", e.g. http://localhost:11434/v1 for Ollama."
          },
          "onlyNew": {
            "title": "Only new notices",
            "type": "boolean",
            "description": "Schedule the Actor (daily) and each run returns only notices earlier runs didn't deliver: a bid-alert feed you pay for only when something new appears.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional name for the “only new” history, so several monitors can run side by side."
          },
          "delivery": {
            "title": "Send results to Slack, Discord, a webhook or Google Sheets",
            "type": "object",
            "description": "Webhook: {\"webhookUrl\": \"https://…\", \"format\": \"json\" | \"slack\" | \"discord\", \"onlyWhenResults\": true, \"includeItems\": 10}. Google Sheets: {\"spreadsheetId\": \"<id from the sheet URL>\", \"sheetName\": \"Sheet1\"} plus the service account key below; share the sheet with the service account's e-mail first. Leave empty to only save results in the dataset."
          },
          "googleServiceAccountJson": {
            "title": "Google service account key (for Sheets)",
            "type": "string",
            "description": "Only for Google Sheets delivery: paste the service account's JSON key. Stored encrypted; the account sees only sheets you share with it."
          },
          "tenantId": {
            "title": "Tenant ID",
            "type": "string",
            "description": "Optional label used to keep separate histories for different clients or teams."
          },
          "debug": {
            "title": "Debug",
            "type": "boolean",
            "description": "Save extra diagnostics with the run (for support requests).",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}