{
  "openapi": "3.0.1",
  "info": {
    "title": "SGX Company Announcements Scraper",
    "description": "Scrape Singapore Exchange (SGX) listed-company announcements and disclosures. Search by issuer name or stock code, filter by category and date range. Get stock code, issuer name, announcement title, category, publish date, and direct document URL.",
    "version": "1.0",
    "x-build-id": "SRIr27gJnpLJRrcfc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~sgx-company-announcements-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-sgx-company-announcements-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/crawlerbros~sgx-company-announcements-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-sgx-company-announcements-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/crawlerbros~sgx-company-announcements-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-sgx-company-announcements-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": {
          "issuerQuery": {
            "title": "Issuer name or stock code",
            "type": "string",
            "description": "Restrict results to one listed issuer. Enter part of the issuer/company name (e.g. `DBS`) or an exact stock code (e.g. `D05`). Leave blank to search across all listed issuers. Note: SGX doesn't file every issuer daily, so if you set this, also widen `dateFrom`/`dateTo` to make sure the issuer has a filing in range."
          },
          "category": {
            "title": "Category",
            "enum": [
              "",
              "ANNC",
              "CACT",
              "PLST",
              "TRAD"
            ],
            "type": "string",
            "description": "Top-level SGX announcement category. Leave as \"All categories\" to search every category.",
            "default": ""
          },
          "subcategory": {
            "title": "Subcategory",
            "enum": [
              "",
              "ANNC01",
              "ANNC02",
              "ANNC03",
              "ANNC04",
              "ANNC05",
              "ANNC30",
              "ANNC06",
              "ANNC07",
              "ANNC31",
              "CACT22",
              "CACT01",
              "TRAD08",
              "CACT02",
              "CACT03",
              "CACT04",
              "CACT06",
              "ANNC08",
              "ANNC09",
              "ANNC10",
              "ANNC29",
              "ANNC11",
              "PLST01",
              "CACT24",
              "CACT07",
              "CACT25",
              "ANNC12",
              "TRAD09",
              "TRAD01",
              "ANNC14",
              "CACT09",
              "CACT08",
              "ANNC15",
              "CACT05",
              "ANNC16",
              "CACT10",
              "ANNC17",
              "ANNC18",
              "ANNC19",
              "CACT23",
              "CACT11",
              "PLST03",
              "PLST05",
              "PLST06",
              "PLST07",
              "PLST08",
              "CACT12",
              "ANNC20",
              "ANNC21",
              "ANNC22",
              "CACT13",
              "PLST09",
              "CACT14",
              "CACT15",
              "ANNC23",
              "TRAD02",
              "ANNC24",
              "CACT16",
              "TRAD03",
              "TRAD04",
              "TRAD05",
              "TRAD06",
              "ANNC25",
              "CACT18",
              "CACT19",
              "ANNC13",
              "CACT17",
              "ANNC26",
              "CACT20",
              "CACT21",
              "ANNC27",
              "TRAD10",
              "TRAD11",
              "TRAD12",
              "TRAD13",
              "ANNC28",
              "PLST10"
            ],
            "type": "string",
            "description": "Narrow to one specific announcement subcategory. Leave as \"All subcategories\" to search every subcategory within the chosen category.",
            "default": ""
          },
          "titleKeyword": {
            "title": "Title contains keyword",
            "type": "string",
            "description": "Only return announcements whose title contains this word (case-insensitive)."
          },
          "dateFrom": {
            "title": "Date from",
            "type": "string",
            "description": "Earliest announcement/broadcast date, `YYYY-MM-DD`. Defaults to 30 days before `dateTo`. Note: for replacement/amended filings (title starts with \"REPL:\"), this matches the record's `broadcastDate`, which can be later than its original `publishDate`."
          },
          "dateTo": {
            "title": "Date to",
            "type": "string",
            "description": "Latest announcement/broadcast date, `YYYY-MM-DD`. Defaults to today. Note: for replacement/amended filings (title starts with \"REPL:\"), this matches the record's `broadcastDate`, which can be later than its original `publishDate`."
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Hard cap on emitted records.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Only used as an automatic fallback if SGX starts rate-limiting the datacenter IP. Leave the default AUTO group enabled — no paid proxy is required.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}