{
  "openapi": "3.0.1",
  "info": {
    "title": "Taiwan Yellow Pages Scraper",
    "description": "Scrape Taiwan businesses from Taiwan Yellow Pages (iyp.com.tw) by keyword and city: name, phone, address, district, website. Optional company details: tax ID, status, capital, representative, directors with shares, factories, business items, fax, email, hours. Filters, monitoring.",
    "version": "1.0",
    "x-build-id": "9zBM1visekms8MVJN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/normdata~iyp-taiwan-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-normdata-iyp-taiwan-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/normdata~iyp-taiwan-scraper/runs": {
      "post": {
        "operationId": "runs-sync-normdata-iyp-taiwan-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/normdata~iyp-taiwan-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-normdata-iyp-taiwan-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": {
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many businesses in total. Leave empty for no limit. The Apify Free plan is always capped at 10."
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Keywords, searched like the site's own search box, one search per term. The site is in Chinese, so Chinese words find far more: 餐廳 (restaurants), 牙醫 (dentists), 電子零件 (electronic parts), 貿易 (trading), 會計師 (accountants).",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Optional. Search only these cities and counties. Empty = all of Taiwan.",
            "items": {
              "type": "string",
              "enum": [
                "Taipei",
                "NewTaipei",
                "Keelung",
                "Taoyuan",
                "Hsinchu",
                "Miaoli",
                "Taichung",
                "Changhua",
                "Nantou",
                "Yunlin",
                "Chiayi",
                "Tainan",
                "Kaohsiung",
                "Pingtung",
                "Yilan",
                "Hualien",
                "Taitung",
                "Penghu",
                "Kinmen",
                "Lienchiang"
              ],
              "enumTitles": [
                "Taipei 台北",
                "New Taipei 新北",
                "Keelung 基隆",
                "Taoyuan 桃園",
                "Hsinchu 新竹",
                "Miaoli 苗栗",
                "Taichung 台中",
                "Changhua 彰化",
                "Nantou 南投",
                "Yunlin 雲林",
                "Chiayi 嘉義",
                "Tainan 台南",
                "Kaohsiung 高雄",
                "Pingtung 屏東",
                "Yilan 宜蘭",
                "Hualien 花蓮",
                "Taitung 台東",
                "Penghu 澎湖",
                "Kinmen 金門",
                "Lienchiang (Matsu) 連江"
              ]
            }
          },
          "districts": {
            "title": "Districts",
            "type": "array",
            "description": "Optional. Keep only businesses in these districts or towns, written as on the site, like 中山區, 信義區 or 板橋區.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Company details",
            "type": "boolean",
            "description": "Also open each business page for its tax ID, registration status, company type, capital, legal representative, directors with their shares, factories, business items, fax, mobile, email, contact person, opening hours and English name. Charged as an add-on per business."
          },
          "onlyWithPhone": {
            "title": "Only with phone",
            "type": "boolean",
            "description": "Keep only businesses that list a phone number."
          },
          "onlyWithMobile": {
            "title": "Only with mobile phone",
            "type": "boolean",
            "description": "Keep only businesses with a Taiwan mobile number (09...)."
          },
          "onlyWithWebsite": {
            "title": "Only with website",
            "type": "boolean",
            "description": "Keep only businesses that list a website."
          },
          "onlyWithDescription": {
            "title": "Only with description",
            "type": "boolean",
            "description": "Keep only businesses with a description on the results page."
          },
          "onlyCompanies": {
            "title": "Only companies",
            "type": "boolean",
            "description": "Keep only registered firms: names with 公司 (company), 行號, 企業社, 事務所, 工作室, 工廠 or 集團."
          },
          "onlyVip": {
            "title": "Only VIP listings",
            "type": "boolean",
            "description": "Keep only paid VIP listings (they link to their own website)."
          },
          "onlyWithTaxId": {
            "title": "Only with tax ID",
            "type": "boolean",
            "description": "Keep only businesses with a tax ID (統一編號) on their page. Turns on company details."
          },
          "onlyActive": {
            "title": "Only active companies",
            "type": "boolean",
            "description": "Keep only businesses whose registration status is 營業中 (in business). Turns on company details."
          },
          "onlyWithEmail": {
            "title": "Only with email",
            "type": "boolean",
            "description": "Keep only businesses that list an email address. Turns on company details."
          },
          "minCapital": {
            "title": "Capital from (TWD)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only companies with at least this registered capital in Taiwan dollars, like 5000000. Turns on company details."
          },
          "maxCapital": {
            "title": "Capital up to (TWD)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only companies with at most this registered capital in Taiwan dollars. Turns on company details."
          },
          "onlyNew": {
            "title": "Only new businesses",
            "type": "boolean",
            "description": "Skip businesses saved by earlier runs with the same monitor name."
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Runs with the same name share their history. Use a different name for each schedule."
          },
          "startUrls": {
            "title": "Links",
            "type": "array",
            "description": "Search pages (https://www.iyp.com.tw/search?q=餐廳&type=keywords&city=Taipei), category pages (https://www.iyp.com.tw/infocomm/accessories-consumable.html), main categories (https://www.iyp.com.tw/infocomm, every category in it) or business pages (https://www.iyp.com.tw/0289769100).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}