{
  "openapi": "3.0.1",
  "info": {
    "title": "Multi-Engine Search Scraper — Google, Bing, DuckDuckGo",
    "description": "Search engine scraper: get organic search results from Google, Bing, Yahoo, DuckDuckGo and more in one run. Titles, URLs, snippets and source domains for any keyword, in bulk. Compare rankings across engines. No API keys needed. Export to CSV, JSON, Excel or API.",
    "version": "0.0",
    "x-build-id": "QfPLnwIWgBBVt8SOr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maged120~search-engines-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maged120-search-engines-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/maged120~search-engines-scraper/runs": {
      "post": {
        "operationId": "runs-sync-maged120-search-engines-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/maged120~search-engines-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-maged120-search-engines-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "multi",
              "google"
            ],
            "type": "string",
            "description": "Leave empty to pick automatically: \"Google query\" means Google mode, otherwise multi-engine."
          },
          "search_query": {
            "title": "Search Query",
            "type": "string",
            "description": "The search query to look for"
          },
          "search_engines": {
            "title": "Search Engines",
            "type": "array",
            "description": "Select one or more search engines to use",
            "items": {
              "type": "string",
              "enum": [
                "google",
                "bing",
                "yahoo",
                "aol",
                "duckduckgo",
                "startpage",
                "dogpile",
                "ask",
                "mojeek",
                "qwant",
                "brave",
                "torch"
              ]
            }
          },
          "max_pages": {
            "title": "Maximum Pages",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many pages to crawl from search results",
            "default": 1
          },
          "timeout": {
            "title": "Timeout",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Request timeout in seconds",
            "default": 10
          },
          "proxy": {
            "title": "Proxy URL",
            "type": "string",
            "description": "Optional proxy URL to use for requests"
          },
          "query": {
            "title": "Search Query",
            "type": "string",
            "description": "Search text for Google mode, with Google-specific options below (domain, type, pages, language, region, safe search). Setting this instead of \"Search query\" switches to Google mode."
          },
          "google_domain": {
            "title": "Google Domain",
            "type": "string",
            "description": "Google country domain to search. The country is selected by domain, so use google.co.uk for the UK, google.de for Germany, etc."
          },
          "search_type": {
            "title": "Search Type",
            "enum": [
              "web",
              "images",
              "news",
              "videos",
              "books"
            ],
            "type": "string",
            "description": "Type of search (e.g. 'web', 'images', 'news')"
          },
          "results_per_page": {
            "title": "Results Per Page",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Number of results per page"
          },
          "pages": {
            "title": "Maximum Pages",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many pages to crawl from search results"
          },
          "start_page": {
            "title": "Start Page",
            "minimum": 1,
            "type": "integer",
            "description": "Page number to start crawling from"
          },
          "unique_urls": {
            "title": "Unique URLs Only",
            "type": "boolean",
            "description": "Return only unique URLs"
          },
          "unique_domains": {
            "title": "Unique Domains Only",
            "type": "boolean",
            "description": "Return only unique domains"
          },
          "language": {
            "title": "Language",
            "enum": [
              "arabic",
              "chinese_simplified",
              "chinese_traditional",
              "czech",
              "danish",
              "dutch",
              "english",
              "estonian",
              "finnish",
              "french",
              "german",
              "greek",
              "hebrew",
              "hindi",
              "hungarian",
              "icelandic",
              "indonesian",
              "italian",
              "japanese",
              "korean",
              "latvian",
              "lithuanian",
              "norwegian",
              "persian",
              "polish",
              "portuguese",
              "romanian",
              "russian",
              "spanish",
              "swedish",
              "thai",
              "turkish",
              "ukrainian",
              "vietnamese"
            ],
            "type": "string",
            "description": "Restrict results to a specific language (e.g. 'en')"
          },
          "region": {
            "title": "Region",
            "enum": [
              "afghanistan",
              "albania",
              "algeria",
              "andorra",
              "argentina",
              "australia",
              "austria",
              "belgium",
              "brazil",
              "canada",
              "chile",
              "china",
              "colombia",
              "czech_republic",
              "denmark",
              "egypt",
              "finland",
              "france",
              "germany",
              "greece",
              "hong_kong",
              "india",
              "indonesia",
              "ireland",
              "israel",
              "italy",
              "japan",
              "kenya",
              "malaysia",
              "mexico",
              "netherlands",
              "new_zealand",
              "nigeria",
              "norway",
              "pakistan",
              "philippines",
              "poland",
              "portugal",
              "romania",
              "russia",
              "saudi_arabia",
              "singapore",
              "south_africa",
              "south_korea",
              "spain",
              "sweden",
              "switzerland",
              "taiwan",
              "thailand",
              "turkey",
              "ukraine",
              "united_kingdom",
              "united_states",
              "vietnam"
            ],
            "type": "string",
            "description": "Restrict results to a specific region (e.g. 'US')"
          },
          "last_update": {
            "title": "Last Update",
            "enum": [
              "hour",
              "day",
              "week",
              "month",
              "year"
            ],
            "type": "string",
            "description": "Restrict results to a certain update period (e.g. 'day', 'week', 'month', 'year')"
          },
          "site": {
            "title": "Site",
            "type": "string",
            "description": "Restrict results to a specific site"
          },
          "custom_url": {
            "title": "Custom URL",
            "pattern": "^(http|https):\\/\\/[\\w\\-\\.]+([:\\d]+)?([\\w\\-\\._~:\\/?#\\[\\]@!$&'()*+,;=])*$",
            "type": "string",
            "description": "overrides most of the other filters, this is for advanced users who know how to use google search params and filters from the url directly"
          },
          "all_words": {
            "title": "All Words",
            "type": "string",
            "description": "All these words must appear in results"
          },
          "exact_phrase": {
            "title": "Exact Phrase",
            "type": "string",
            "description": "Exact phrase to appear in results"
          },
          "any_words": {
            "title": "Any Words",
            "type": "string",
            "description": "Any of these words can appear in results"
          },
          "none_words": {
            "title": "None Words",
            "type": "string",
            "description": "None of these words should appear in results"
          },
          "numbers_from": {
            "title": "Numbers From",
            "type": "integer",
            "description": "Minimum number value to appear in results (normally used for price lookup)"
          },
          "numbers_to": {
            "title": "Numbers To",
            "type": "integer",
            "description": "Maximum number value to appear in results (normally used for price lookup)"
          },
          "terms_appearing": {
            "title": "Terms Appearing",
            "enum": [
              "anywhere",
              "title",
              "url",
              "body",
              "links"
            ],
            "type": "string",
            "description": "Where terms should appear (e.g. 'any', 'title', 'url', 'body')"
          },
          "file_type": {
            "title": "File Type",
            "enum": [
              "pdf",
              "doc",
              "docx",
              "xls",
              "xlsx",
              "ppt",
              "pptx",
              "txt",
              "rtf",
              "ps",
              "swf",
              "kml",
              "kmz"
            ],
            "type": "string",
            "description": "Restrict results to a specific file type (e.g. 'pdf')"
          },
          "safe_search": {
            "title": "Safe Search",
            "type": "boolean",
            "description": "Enable safe search filtering"
          },
          "from_date": {
            "title": "From Date",
            "type": "string",
            "description": "Restrict results from this date (YYYY-MM-DD)"
          },
          "to_date": {
            "title": "To Date",
            "type": "string",
            "description": "Restrict results up to this date (YYYY-MM-DD)"
          },
          "custom_tbs": {
            "title": "Custom TBS",
            "type": "string",
            "description": "Custom Google TBS parameter this is also for advanced users who know what tbs param is"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}