{
  "openapi": "3.0.1",
  "info": {
    "title": "Government Tenders & AI Bid Matcher: EU TED, UK, SAM.gov, UN",
    "description": "Find open government tenders and RFPs from 8 official sources (EU TED, SAM.gov, UK Contracts Finder & Find a Tender, CanadaBuys, AusTender, World Bank, UNDP) in one schema. AI scores every tender against your company profile: bid, maybe or skip.",
    "version": "0.1",
    "x-build-id": "lLZpnqRgSyi5qkViE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/qlufiq~tender-finder-ai/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-qlufiq-tender-finder-ai",
        "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/qlufiq~tender-finder-ai/runs": {
      "post": {
        "operationId": "runs-sync-qlufiq-tender-finder-ai",
        "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/qlufiq~tender-finder-ai/run-sync": {
      "post": {
        "operationId": "run-sync-qlufiq-tender-finder-ai",
        "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": {
          "companyProfile": {
            "title": "Company profile",
            "type": "string",
            "description": "Describe what your company sells, where it can deliver, its size, certifications and typical contract size. The AI scores every tender against this text. Leave empty to only search tenders (no AI matching, cheaper)."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Tender must mention at least one keyword (full-text search on TED and World Bank, title search on SAM.gov, title/description filter on the UK portals, CanadaBuys, AusTender and UNDP). Leave empty for all tenders.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "cpvCodes": {
            "title": "CPV codes (EU/UK)",
            "type": "array",
            "description": "Common Procurement Vocabulary codes. Matched hierarchically: 48000000 matches all software packages (48730000 etc.). Applies to TED and UK portals.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "naicsCodes": {
            "title": "NAICS codes (US)",
            "type": "array",
            "description": "NAICS codes for SAM.gov, e.g. 541512 (computer systems design).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "ISO 2-letter country codes of the buyer or project, e.g. DE, FR, GB, US, KE. Empty means all countries. Sources that cannot cover the selected countries are skipped.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Sources",
            "type": "array",
            "description": "Official APIs and feeds to search. SAM.gov uses a built-in API key (you can supply your own below). CanadaBuys and AusTender only cover their own country.",
            "items": {
              "type": "string",
              "enum": [
                "ted",
                "uk_cf",
                "uk_fts",
                "worldbank",
                "samgov",
                "canadabuys",
                "austender",
                "undp"
              ],
              "enumTitles": [
                "EU TED (Tenders Electronic Daily)",
                "UK Contracts Finder",
                "UK Find a Tender",
                "World Bank procurement notices",
                "SAM.gov (US federal)",
                "CanadaBuys (Canada federal)",
                "AusTender (Australian Government)",
                "UNDP procurement notices (worldwide)"
              ]
            },
            "default": [
              "ted",
              "uk_cf",
              "uk_fts",
              "worldbank",
              "samgov",
              "canadabuys",
              "austender",
              "undp"
            ]
          },
          "publishedWithinDays": {
            "title": "Published within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Only tenders published in the last N days. Ideal for scheduled runs. Ignored when 'Published from' is set.",
            "default": 14
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "Optional fixed start date (YYYY-MM-DD)."
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Optional fixed end date (YYYY-MM-DD). Defaults to today."
          },
          "onlyOpen": {
            "title": "Only open tenders",
            "type": "boolean",
            "description": "Drop tenders whose submission deadline has passed. Tenders without a published deadline are kept.",
            "default": true
          },
          "minValue": {
            "title": "Minimum value",
            "minimum": 0,
            "type": "integer",
            "description": "Drop tenders with a published estimated value below this amount. Values in other currencies are compared with approximate static exchange rates. Tenders without a value are kept unless 'Require value' is on."
          },
          "currency": {
            "title": "Currency of minimum value",
            "enum": [
              "EUR",
              "USD",
              "GBP",
              "CHF",
              "PLN",
              "CZK",
              "SEK",
              "DKK",
              "NOK"
            ],
            "type": "string",
            "description": "Currency of the minimum value.",
            "default": "EUR"
          },
          "requireValue": {
            "title": "Require value",
            "type": "boolean",
            "description": "With a minimum value set, also drop tenders that publish no value.",
            "default": false
          },
          "maxTenders": {
            "title": "Max tenders",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Maximum tenders in the output. Sources are interleaved so each gets a fair share.",
            "default": 100
          },
          "aiMatch": {
            "title": "AI matching",
            "type": "boolean",
            "description": "Score each tender against the company profile with AI (charged per matched tender).",
            "default": true
          },
          "maxAiMatches": {
            "title": "Max AI matches",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum tenders scored by AI per run (newest first). Remaining tenders are returned without a score.",
            "default": 50
          },
          "minScore": {
            "title": "Minimum AI score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only output AI-scored tenders with at least this score (0-100). Unscored tenders are still returned."
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "pl",
              "pt",
              "cs",
              "sv",
              "da",
              "fi",
              "ro",
              "hu",
              "el",
              "bg",
              "sk",
              "sl",
              "hr",
              "lt",
              "lv",
              "et"
            ],
            "type": "string",
            "description": "Preferred language for TED titles and texts (falls back to English). AI summaries are always in English.",
            "default": "en"
          },
          "samGovApiKey": {
            "title": "SAM.gov API key (optional)",
            "type": "string",
            "description": "Optional: use your own SAM.gov key instead of the built-in one (sam.gov → sign in → Account Details → Public API Key)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}