{
  "openapi": "3.0.1",
  "info": {
    "title": "Instant Web Scraper - Any List or Table to Rows",
    "description": "Paste any URL and get the page's main list or table back as rows. Columns are detected and named for you, next pages are followed automatically, and one run scrapes many URLs. No selectors, no code, no browser. Cookies work for logged-in pages. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "eVEZ3TKeM0RUhcFCo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~instant-web-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-instant-web-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/memo23~instant-web-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-instant-web-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/memo23~instant-web-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-instant-web-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",
        "required": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Pages that show a list or table: search results, category pages, directories, rankings, HTML tables. Each URL is scraped on its own and its next pages are followed.",
            "items": {
              "type": "string"
            }
          },
          "action": {
            "title": "Action",
            "enum": [
              "scrape",
              "findTables"
            ],
            "type": "string",
            "description": "\"Scrape rows\" returns the best list on each page as rows. \"Find tables\" returns one preview row per list found on each page (number, size, column names, 3 sample rows), so you can pick a different one with Table number. Preview runs are not charged per row.",
            "default": "scrape"
          },
          "maxItems": {
            "title": "Max rows per URL",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many rows from each start URL.",
            "default": 1000
          },
          "maxPages": {
            "title": "Max pages per URL",
            "minimum": 1,
            "type": "integer",
            "description": "How many pages to follow from each start URL, the start page included. Set 1 to read only the page you entered.",
            "default": 20
          },
          "tableNumber": {
            "title": "Table number",
            "minimum": 1,
            "type": "integer",
            "description": "Which detected list to scrape: 1 is the best match. Run \"Find tables\" first to see the numbers. Ignored when Item selector is set.",
            "default": 1
          },
          "itemSelector": {
            "title": "Item selector (optional)",
            "type": "string",
            "description": "CSS selector that matches one row of the list, for example \"li.product\" or \"table#results tbody tr\". Skips auto-detection. \"Find tables\" prints a working selector for every list it finds."
          },
          "renameColumns": {
            "title": "Rename columns",
            "type": "array",
            "description": "Rename detected columns. Key: the detected column name (as shown in the output or in \"Find tables\"). Value: the name you want.",
            "items": {
              "type": "object",
              "required": [
                "key",
                "value"
              ],
              "properties": {
                "key": {
                  "type": "string",
                  "title": "Key"
                },
                "value": {
                  "type": "string",
                  "title": "Value"
                }
              }
            }
          },
          "keepOnlyRenamedColumns": {
            "title": "Keep only renamed columns",
            "type": "boolean",
            "description": "Output only the columns listed in Rename columns (plus pageUrl, pageNumber, position).",
            "default": false
          },
          "dropConstantLabels": {
            "title": "Drop repeated labels",
            "type": "boolean",
            "description": "Leave out columns that hold the same short text in every row, such as \"Read more\" or \"Add to cart\".",
            "default": true
          },
          "nextPageSelector": {
            "title": "Next page selector (optional)",
            "type": "string",
            "description": "CSS selector of the next-page link. Leave empty: the Actor finds rel=next links, \"Next\" / \"›\" buttons and numbered pagers on its own."
          },
          "autoIncrementPage": {
            "title": "Count up the page number in the URL",
            "type": "boolean",
            "description": "When a page has no next link but its URL holds a page number (?page=2, /page/2), try the following number. Stops when a page brings no new rows.",
            "default": true
          },
          "delayMs": {
            "title": "Delay between pages (ms)",
            "minimum": 0,
            "type": "integer",
            "description": "Pause before each next page of the same URL. Raise it for sites that rate-limit.",
            "default": 0
          },
          "cookies": {
            "title": "Cookies (optional)",
            "type": "array",
            "description": "For pages that need you to be logged in. Export your cookies with a browser extension such as Cookie-Editor (JSON export) and paste them here. Only cookies whose domain matches the URL are sent."
          },
          "customHeaders": {
            "title": "Extra request headers (optional)",
            "type": "object",
            "description": "Headers added to every request, for example {\"accept-language\": \"de-DE\"}."
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave empty and the Actor picks its own route. Pick a proxy country or group here when a site shows different content per country or blocks datacenter IPs."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}