{
  "openapi": "3.0.1",
  "info": {
    "title": "IDB Tenders Scraper — Latin America Procurement & Awards",
    "description": "Inter-American Development Bank (IDB/IADB) procurement notices: open tenders, RFPs, expressions of interest and contract awards across 26 Latin America & Caribbean countries. Filter by country, type, keyword, date. Bid documents, deadlines, sectors. B2G leads & tender intel.",
    "version": "0.1",
    "x-build-id": "sjXv9d6vL6HllHeIR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/foxlabs~iadb-tenders/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-foxlabs-iadb-tenders",
        "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/foxlabs~iadb-tenders/runs": {
      "post": {
        "operationId": "runs-sync-foxlabs-iadb-tenders",
        "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/foxlabs~iadb-tenders/run-sync": {
      "post": {
        "operationId": "run-sync-foxlabs-iadb-tenders",
        "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": {
          "status": {
            "title": "What to fetch",
            "enum": [
              "open",
              "awarded",
              "all"
            ],
            "type": "string",
            "description": "Open = the notice types that invite an offer: specific and general procurement notices, calls for expressions of interest and requests for information. It is the type, not the deadline: a notice whose deadline has passed is still returned, and many rows are amendments to earlier notices — check the deadline column. Awards = contract-award notices; the winner and the price are not columns of the dataset.",
            "default": "open"
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Filter by borrowing country, using the IDB's English country name (e.g. BRAZIL, ARGENTINA, ECUADOR, COLOMBIA, PERU, JAMAICA, BARBADOS). Case and accents do not matter and the common Spanish names are understood (Brasil, República Dominicana). Leave empty for all countries. A name the dataset does not use is reported in the run's status message and matches nothing; a name whose check gets no answer is used as written, and the status message says so.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchTerm": {
            "title": "Keyword",
            "type": "string",
            "description": "Optional. Keeps the notices that contain every word you type, as whole words, in the title, description, project name, sector, category or method (columns of the row) — case and accents ignored ('supervision' finds 'Supervisión'). A project number, loan number or notice ID written exactly, with nothing added ('BR-L1165'), and a country written out by its English name ('Costa Rica', 'Brazil') are understood too; 'Brasil' is an ordinary word here, and 'regional' is one of the dataset's country names. No stemming: 'road' does not find 'roads'. Notices are written in Spanish, English, Portuguese or French, so use the notice's language ('agua potable', 'consulting', 'obras'). Leave empty to skip."
          },
          "datePreset": {
            "title": "Date range (by publication date)",
            "enum": [
              "last_24_hours",
              "last_7_days",
              "last_30_days",
              "last_90_days",
              "last_year",
              "ytd",
              "all_time",
              "custom"
            ],
            "type": "string",
            "description": "Quick filter on the notice publication date. Pick 'Custom' to use the From/To fields below — with any other choice they are not used, and the run's status message says so. Choose 'All time' to ignore dates. For a daily schedule choose 'Last 7 days' and drop the notices you already have: on the one day measured, notices reached the dataset the day after their publication date, at about 13:00 UTC.",
            "default": "last_30_days"
          },
          "dateFrom": {
            "title": "Custom from date",
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
            "type": "string",
            "description": "YYYY-MM-DD (e.g. 2026-05-01). Only used when Date range = Custom; empty = no start. A date that does not exist stops the run, and so does Custom with neither date."
          },
          "dateTo": {
            "title": "Custom to date",
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
            "type": "string",
            "description": "YYYY-MM-DD. Only used when Date range = Custom; empty = up to the newest notice. A date that does not exist, or one before the From date, stops the run."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Most rows in one run; 0 = no cap. Notices of all chosen countries come as one list, newest first, so a capped run holds the newest ones.",
            "default": 500
          },
          "noticeTypes": {
            "title": "Advanced — specific notice types",
            "type": "array",
            "description": "Override 'What to fetch' with exact notice types. Leave empty to use 'What to fetch' above.",
            "items": {
              "type": "string",
              "enum": [
                "SPECIFIC",
                "GENERAL",
                "EOI",
                "REQUEST FOR INFORMATION",
                "AWARD"
              ],
              "enumTitles": [
                "Specific procurement notice",
                "General procurement notice",
                "Expression of interest (EOI)",
                "Request for information (RFI)",
                "Contract award"
              ]
            },
            "default": []
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}