{
  "openapi": "3.0.1",
  "info": {
    "title": "simap.ch Switzerland Tender Scraper",
    "description": "Extract Swiss public procurement publications from simap.ch: tenders, awards, direct awards, advance notices and competitions from federal, cantonal and communal buyers, with the full publication detail.",
    "version": "0.0",
    "x-build-id": "WGd9edKTtxrwQOb5O"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/publicmoney~simap-switzerland-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-publicmoney-simap-switzerland-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/publicmoney~simap-switzerland-scraper/runs": {
      "post": {
        "operationId": "runs-sync-publicmoney-simap-switzerland-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/publicmoney~simap-switzerland-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-publicmoney-simap-switzerland-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": {
          "publishedWithinDays": {
            "title": "📅 Published within (days)",
            "minimum": 1,
            "type": "integer",
            "description": "Return projects whose newest publication is from the last N days. Ignored when Published from is set. Examples: 1, 7, 30. Default is 7.",
            "default": 7
          },
          "publishedFrom": {
            "title": "📅 Published from",
            "type": "string",
            "description": "Date in YYYY-MM-DD form. Overrides Published within. simap.ch's search starts at 2024-07-01. Examples: '2026-09-01'."
          },
          "publishedTo": {
            "title": "📅 Published to",
            "type": "string",
            "description": "Date in YYYY-MM-DD form. Leave empty for today. Examples: '2026-09-30'."
          },
          "search": {
            "title": "🔍 Keyword",
            "type": "string",
            "description": "simap.ch's own full-text search, matched in the chosen Language. Examples: 'Schule', 'école', 'Software'."
          },
          "language": {
            "title": "🌐 Language",
            "enum": [
              "de",
              "fr",
              "it",
              "en"
            ],
            "type": "string",
            "description": "Language simap.ch matches the keyword in, the language of titleText, procOfficeNameText and cpvLabel (falling back to de, fr, it, en when the publication has no text in it), and of projectUrl. Default is de.",
            "default": "de"
          },
          "publicationTypes": {
            "title": "🏷️ Publication type",
            "type": "array",
            "description": "Type of the project's newest publication. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "tender",
                "award_tender",
                "direct_award",
                "advance_notice",
                "request_for_information",
                "competition",
                "award_competition",
                "study_contract",
                "award_study_contract",
                "participant_selection",
                "selective_offering_phase",
                "revocation",
                "abandonment"
              ],
              "enumTitles": [
                "Tender",
                "Award (tender)",
                "Direct award",
                "Advance notice",
                "Request for information",
                "Competition",
                "Award (competition)",
                "Study contract",
                "Award (study contract)",
                "Participant selection",
                "Selective offering phase",
                "Revocation",
                "Abandonment"
              ]
            },
            "default": []
          },
          "projectSubTypes": {
            "title": "🏷️ Order type",
            "type": "array",
            "description": "Construction, service, supply, competitions and studies. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "construction",
                "service",
                "supply",
                "project_competition",
                "idea_competition",
                "overall_performance_competition",
                "project_study",
                "idea_study",
                "overall_performance_study",
                "request_for_information"
              ],
              "enumTitles": [
                "Construction",
                "Service",
                "Supply",
                "Project competition",
                "Idea competition",
                "Overall performance competition",
                "Project study",
                "Idea study",
                "Overall performance study",
                "Request for information"
              ]
            },
            "default": []
          },
          "processTypes": {
            "title": "🏷️ Procedure",
            "type": "array",
            "description": "Procurement procedure. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "open",
                "selective",
                "invitation",
                "direct",
                "no_process"
              ],
              "enumTitles": [
                "Open",
                "Selective",
                "Invitation",
                "Direct",
                "No process"
              ]
            },
            "default": []
          },
          "cpvCodes": {
            "title": "🗂️ CPV codes",
            "type": "array",
            "description": "8-digit CPV codes; a code also matches the codes under it. Examples: '45000000' (construction work), '72000000' (IT services).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "bkpCodes": {
            "title": "🗂️ BKP codes",
            "type": "array",
            "description": "Swiss building cost plan (BKP) codes. Examples: '275' (lock systems), '211'.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "cantons": {
            "title": "📍 Cantons",
            "type": "array",
            "description": "Canton of the place of performance. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "AG",
                "AI",
                "AR",
                "BE",
                "BL",
                "BS",
                "FR",
                "GE",
                "GL",
                "GR",
                "JU",
                "LU",
                "NE",
                "NW",
                "OW",
                "SG",
                "SH",
                "SO",
                "SZ",
                "TG",
                "TI",
                "UR",
                "VD",
                "VS",
                "ZG",
                "ZH"
              ]
            },
            "default": []
          },
          "onlySwitzerland": {
            "title": "📍 Place of performance in Switzerland only",
            "type": "boolean",
            "description": "Keep only publications simap.ch marks as performed in Switzerland (its own 'Switzerland only' filter). Off by default.",
            "default": false
          },
          "includeDetails": {
            "title": "📄 Include publication details",
            "type": "boolean",
            "description": "Adds the full publication (buyer address and contacts, description, CPV/BKP codes, deadlines, lots, award decision with winning vendors and prices, criteria) and the project's earlier publications. Two extra requests per record. On by default.",
            "default": true
          },
          "maxItems": {
            "title": "🔢 Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of publications to return. 0 returns everything in the window. Examples: 10, 1000. Default is 1000.",
            "default": 1000
          },
          "schemaOrg": {
            "title": "🔗 Add schema.org block",
            "type": "boolean",
            "description": "Appends a `schemaOrg` object to the end of every record, mapping it to schema.org (Demand for tenders, MonetaryGrant for grants, Invoice for payments). The record's own fields are not changed. Off by default. Charged once per run, not per record.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}