{
  "openapi": "3.0.1",
  "info": {
    "title": "Oman Tender Board Tenders Scraper",
    "description": "Oman government tenders from the Tender Board: tender number, Arabic and English titles, buying entity, activity, grade, publication date, offer deadline, document fee and the public tender notice link. Filter by keyword, entity, activity, dates or deadline.",
    "version": "0.1",
    "x-build-id": "76CzkVAPcClx5je0Q"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automatic~oman-tenderboard-tenders-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automatic-oman-tenderboard-tenders-scraper",
        "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/automatic~oman-tenderboard-tenders-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automatic-oman-tenderboard-tenders-scraper",
        "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/automatic~oman-tenderboard-tenders-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automatic-oman-tenderboard-tenders-scraper",
        "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": {
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Text searched in the tender number, title, description, buying entity, activity and grade, e.g. 'صيانة' (maintenance) or 'توريد' (supply). The list is published in Arabic, so English words match only where the entity wrote them. Up to 200 characters.",
            "default": ""
          },
          "buyer": {
            "title": "Buying entity",
            "type": "string",
            "description": "Only tenders whose government entity contains this text, e.g. 'وزارة الصحة' (Ministry of Health) or 'جامعة' (university). Entity names are published in Arabic. Up to 200 characters.",
            "default": ""
          },
          "category": {
            "title": "Activity or category",
            "type": "string",
            "description": "Only tenders whose activity, procurement category or description contains this text, e.g. 'المقاولات' (construction) or 'توريد' (supply).",
            "default": ""
          },
          "status": {
            "title": "Status",
            "enum": [
              "open",
              "all"
            ],
            "type": "string",
            "description": "'open' keeps tenders whose offer deadline has not passed; 'all' returns the whole published list back to 2018.",
            "default": "open"
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "Earliest announcement date, YYYY-MM-DD (inclusive). The announcement date is printed on the tender notice, so this filter reads notices.",
            "default": ""
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Latest announcement date, YYYY-MM-DD (inclusive).",
            "default": ""
          },
          "closingFrom": {
            "title": "Deadline from",
            "type": "string",
            "description": "Only tenders whose offer submission deadline falls on or after this date, YYYY-MM-DD.",
            "default": ""
          },
          "closingTo": {
            "title": "Deadline to",
            "type": "string",
            "description": "Only tenders whose offer submission deadline falls on or before this date, YYYY-MM-DD.",
            "default": ""
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Stop after this many tenders (deduplicated on the Tender Board's tender id).",
            "default": 20
          },
          "maxScanPages": {
            "title": "Listing pages to scan",
            "minimum": 1,
            "maximum": 45,
            "type": "integer",
            "description": "The public list holds 50 tenders per page and does not filter on the server, so each run scans pages and applies the filters locally. 10 pages is enough for the current open tenders; raise it for older windows.",
            "default": 10
          },
          "includeDetails": {
            "title": "Include details",
            "type": "boolean",
            "description": "Read each tender's notice: English title when published, announcement date, activity and sub-categories, grade, governorate, envelope type, sale and question dates, financial opening and the document fee and bank guarantee. One extra page read per tender, slower. A failed notice keeps the row with detailIssue set.",
            "default": true
          },
          "onlyNewSinceLastRun": {
            "title": "Only new or changed since last run",
            "type": "boolean",
            "description": "Keep a ledger per saved search and return only tenders that are new, or whose deadline, status, value, documents or title changed since the previous run. Use it on a schedule for a clean daily feed.",
            "default": false
          },
          "stateKey": {
            "title": "Feed state key",
            "type": "string",
            "description": "Optional name for the ledger record. Leave empty to derive one from the filters, so each different search keeps its own history.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}