{
  "openapi": "3.0.1",
  "info": {
    "title": "RAG Web Browser",
    "description": "RAG Web Browser websites and extract relevant content for Retrieval-Augmented Generation (RAG). Collect clean text, metadata, links, and documents from web pages, then export structured data to JSON, CSV, Excel, or XML for AI assistants, knowledge bases, and semantic search.",
    "version": "0.2",
    "x-build-id": "WYBu9CYXfAZglVlaI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~rag-web-browser/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-rag-web-browser",
        "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/scraper-engine~rag-web-browser/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-rag-web-browser",
        "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/scraper-engine~rag-web-browser/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-rag-web-browser",
        "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": {
          "query": {
            "title": "Search term or URL",
            "type": "string",
            "description": "Enter Google Search keywords or a URL of a specific web page. Supports <a href=\"https://blog.apify.com/how-to-scrape-google-like-a-pro/\" target=\"_blank\">advanced search operators</a>. Examples: <code>san francisco weather</code>, <code>https://www.cnn.com</code>, <code>function calling site:openai.com</code>. Leave empty only when using <b>URLs (optional bulk)</b> below."
          },
          "urls": {
            "title": "URLs (optional bulk)",
            "type": "array",
            "description": "Skip Google Search and scrape these URLs directly. If set, the search term above is ignored.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The maximum number of top organic Google Search results whose web pages will be extracted. If the query is a URL, this field is ignored and only that page is fetched.",
            "default": 10
          },
          "outputFormats": {
            "title": "Output formats",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more formats to which the target web pages will be extracted and saved in the resulting dataset.",
            "items": {
              "type": "string",
              "enum": [
                "text",
                "markdown",
                "html"
              ],
              "enumTitles": [
                "Plain text",
                "Markdown",
                "HTML"
              ]
            },
            "default": [
              "markdown"
            ]
          },
          "serpProxyGroup": {
            "title": "SERP proxy group",
            "enum": [
              "GOOGLE_SERP",
              "SHADER"
            ],
            "type": "string",
            "description": "Overrides the default Apify Proxy group used for fetching Google Search results.",
            "default": "GOOGLE_SERP"
          },
          "serpMaxRetries": {
            "title": "SERP max retries",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "The maximum number of times the Actor will retry fetching Google Search results on error. If the last attempt fails, the entire search step fails.",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings for scraping target web pages. When enabled, requests start on datacenter proxies. If a site blocks the request, the Actor automatically escalates to residential proxies (up to 3 retries, then stays on residential for the rest of the run).",
            "default": {
              "useApifyProxy": true
            }
          },
          "scrapingTool": {
            "title": "Select a scraping tool",
            "enum": [
              "raw-http",
              "browser-playwright"
            ],
            "type": "string",
            "description": "Raw HTTP is fast and works for most static sites. Browser (Playwright) mode is not available in this Python build — if selected, Raw HTTP is used instead.",
            "default": "raw-http"
          },
          "removeElementsCssSelector": {
            "title": "Remove HTML elements (CSS selector)",
            "type": "string",
            "description": "CSS selectors for elements removed from the DOM before conversion to text or Markdown. Set to a non-matching selector like <code>dummy_keep_everything</code> to disable removal.",
            "default": "nav, footer, script, style, noscript, svg, img[src^='data:'],\n[role=\"alert\"],\n[role=\"banner\"],\n[role=\"dialog\"],\n[role=\"alertdialog\"],\n[role=\"region\"][aria-label*=\"skip\" i],\n[aria-modal=\"true\"]"
          },
          "htmlTransformer": {
            "title": "HTML transformer",
            "enum": [
              "none",
              "readable"
            ],
            "type": "string",
            "description": "How to transform HTML after element removal. <b>None</b> keeps the cleaned page; <b>Readable text</b> extracts the main article body.",
            "default": "none"
          },
          "maxRequestRetries": {
            "title": "Target page max retries",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "Per-page retry budget after the first failure, before the page is skipped or proxy escalation continues.",
            "default": 1
          },
          "dynamicContentWaitSecs": {
            "title": "Target page dynamic content timeout",
            "minimum": 0,
            "maximum": 60,
            "type": "integer",
            "description": "Maximum seconds to wait for dynamic content when using Browser mode. Ignored for Raw HTTP (the default scraping tool in this build).",
            "default": 10
          },
          "removeCookieWarnings": {
            "title": "Remove cookie warnings",
            "type": "boolean",
            "description": "Remove cookie consent banners before extraction. Slightly increases processing time.",
            "default": true
          },
          "debugMode": {
            "title": "Enable debug mode",
            "type": "boolean",
            "description": "Store debugging information (proxy tier, final URL, byte length) in each dataset record under the <code>debug</code> field.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}