Google Search Scraper avatar

Google Search Scraper

Deprecated
Go to Store
This Actor is deprecated

This Actor is unavailable because the developer has decided to deprecate it. Would you like to try a similar Actor instead?

See alternative Actors
Google Search Scraper

Google Search Scraper

eunit/google-search-scraper

Uncover valuable insights! This Google Search Scraper extracts organic & paid results, ads, queries, "People Also Ask," prices, and reviews – like a SERP API: export data (JSON, CSV, Excel) & schedule scrapes.

You can access the Google Search Scraper programmatically from your own applications by using the Apify API. You can choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.

1{
2  "openapi": "3.0.1",
3  "info": {
4    "version": "0.1",
5    "x-build-id": "ZmR5JwaeBr8zFRgXE"
6  },
7  "servers": [
8    {
9      "url": "https://api.apify.com/v2"
10    }
11  ],
12  "paths": {
13    "/acts/eunit~google-search-scraper/run-sync-get-dataset-items": {
14      "post": {
15        "operationId": "run-sync-get-dataset-items-eunit-google-search-scraper",
16        "x-openai-isConsequential": false,
17        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
18        "tags": [
19          "Run Actor"
20        ],
21        "requestBody": {
22          "required": true,
23          "content": {
24            "application/json": {
25              "schema": {
26                "$ref": "#/components/schemas/inputSchema"
27              }
28            }
29          }
30        },
31        "parameters": [
32          {
33            "name": "token",
34            "in": "query",
35            "required": true,
36            "schema": {
37              "type": "string"
38            },
39            "description": "Enter your Apify token here"
40          }
41        ],
42        "responses": {
43          "200": {
44            "description": "OK"
45          }
46        }
47      }
48    },
49    "/acts/eunit~google-search-scraper/runs": {
50      "post": {
51        "operationId": "runs-sync-eunit-google-search-scraper",
52        "x-openai-isConsequential": false,
53        "summary": "Executes an Actor and returns information about the initiated run in response.",
54        "tags": [
55          "Run Actor"
56        ],
57        "requestBody": {
58          "required": true,
59          "content": {
60            "application/json": {
61              "schema": {
62                "$ref": "#/components/schemas/inputSchema"
63              }
64            }
65          }
66        },
67        "parameters": [
68          {
69            "name": "token",
70            "in": "query",
71            "required": true,
72            "schema": {
73              "type": "string"
74            },
75            "description": "Enter your Apify token here"
76          }
77        ],
78        "responses": {
79          "200": {
80            "description": "OK",
81            "content": {
82              "application/json": {
83                "schema": {
84                  "$ref": "#/components/schemas/runsResponseSchema"
85                }
86              }
87            }
88          }
89        }
90      }
91    },
92    "/acts/eunit~google-search-scraper/run-sync": {
93      "post": {
94        "operationId": "run-sync-eunit-google-search-scraper",
95        "x-openai-isConsequential": false,
96        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
97        "tags": [
98          "Run Actor"
99        ],
100        "requestBody": {
101          "required": true,
102          "content": {
103            "application/json": {
104              "schema": {
105                "$ref": "#/components/schemas/inputSchema"
106              }
107            }
108          }
109        },
110        "parameters": [
111          {
112            "name": "token",
113            "in": "query",
114            "required": true,
115            "schema": {
116              "type": "string"
117            },
118            "description": "Enter your Apify token here"
119          }
120        ],
121        "responses": {
122          "200": {
123            "description": "OK"
124          }
125        }
126      }
127    }
128  },
129  "components": {
130    "schemas": {
131      "inputSchema": {
132        "type": "object",
133        "properties": {
134          "queries": {
135            "title": "Search queries or URLs",
136            "pattern": "[^\\s]+",
137            "type": "string",
138            "description": "Google Search queries (e.g. <code>food in NYC</code>) and/or full URLs (e.g. <code>https://www.google.com/search?q=food+NYC</code>).<br><br>Enter one item per line."
139          },
140          "resultsPerPage": {
141            "title": "Results per page",
142            "minimum": 1,
143            "maximum": 100,
144            "type": "integer",
145            "description": "Number of search results per page. By default, Google Search returns 10 results. The allowed values are: <code>10</code>, <code>20</code>, <code>30</code>, <code>40</code>, <code>50</code> and <code>100</code>.<br><br>This setting only applies to <strong>Search queries</strong>, but not to <strong>URLs</strong>."
146          },
147          "maxPagesPerQuery": {
148            "title": "Max pages per query",
149            "minimum": 1,
150            "type": "integer",
151            "description": "The maximum number of search result pages crawled for each search query or URL. Note that a value greater than one might significantly slow down the actor."
152          },
153          "mobileResults": {
154            "title": "Mobile results",
155            "type": "boolean",
156            "description": "If checked, the crawler will return results for the mobile version of the Google Search. By default, desktop results are returned.",
157            "default": false
158          },
159          "csvFriendlyOutput": {
160            "title": "CSV friendly output (1 result on 1 row)",
161            "type": "boolean",
162            "description": "If checked, the crawler will return results in a structure suitable for CSV format. Only organic and paid results are included.",
163            "default": false
164          },
165          "countryCode": {
166            "title": "Country",
167            "enum": [
168              "",
169              "af",
170              "al",
171              "dz",
172              "as",
173              "ad",
174              "ao",
175              "ai",
176              "aq",
177              "ag",
178              "ar",
179              "am",
180              "aw",
181              "au",
182              "at",
183              "az",
184              "bs",
185              "bh",
186              "bd",
187              "bb",
188              "by",
189              "be",
190              "bz",
191              "bj",
192              "bm",
193              "bt",
194              "bo",
195              "ba",
196              "bw",
197              "bv",
198              "br",
199              "io",
200              "bn",
201              "bg",
202              "bf",
203              "bi",
204              "kh",
205              "cm",
206              "ca",
207              "cv",
208              "ky",
209              "cf",
210              "td",
211              "cl",
212              "cn",
213              "cx",
214              "cc",
215              "co",
216              "km",
217              "cg",
218              "cd",
219              "ck",
220              "cr",
221              "ci",
222              "hr",
223              "cu",
224              "cy",
225              "cz",
226              "dk",
227              "dj",
228              "dm",
229              "do",
230              "ec",
231              "eg",
232              "sv",
233              "gq",
234              "er",
235              "ee",
236              "et",
237              "fk",
238              "fo",
239              "fj",
240              "fi",
241              "fr",
242              "gf",
243              "pf",
244              "tf",
245              "ga",
246              "gm",
247              "ge",
248              "de",
249              "gh",
250              "gi",
251              "gr",
252              "gl",
253              "gd",
254              "gp",
255              "gu",
256              "gt",
257              "gn",
258              "gw",
259              "gy",
260              "ht",
261              "hm",
262              "va",
263              "hn",
264              "hk",
265              "hu",
266              "is",
267              "in",
268              "id",
269              "ir",
270              "iq",
271              "ie",
272              "il",
273              "it",
274              "jm",
275              "jp",
276              "jo",
277              "kz",
278              "ke",
279              "ki",
280              "kp",
281              "kr",
282              "kw",
283              "kg",
284              "la",
285              "lv",
286              "lb",
287              "ls",
288              "lr",
289              "ly",
290              "li",
291              "lt",
292              "lu",
293              "mo",
294              "mk",
295              "mg",
296              "mw",
297              "my",
298              "mv",
299              "ml",
300              "mt",
301              "mh",
302              "mq",
303              "mr",
304              "mu",
305              "yt",
306              "mx",
307              "fm",
308              "md",
309              "mc",
310              "mn",
311              "ms",
312              "ma",
313              "mz",
314              "mm",
315              "na",
316              "nr",
317              "np",
318              "nl",
319              "an",
320              "nc",
321              "nz",
322              "ni",
323              "ne",
324              "ng",
325              "nu",
326              "nf",
327              "mp",
328              "no",
329              "om",
330              "pk",
331              "pw",
332              "ps",
333              "pa",
334              "pg",
335              "py",
336              "pe",
337              "ph",
338              "pn",
339              "pl",
340              "pt",
341              "pr",
342              "qa",
343              "re",
344              "ro",
345              "ru",
346              "rw",
347              "sh",
348              "kn",
349              "lc",
350              "pm",
351              "vc",
352              "ws",
353              "sm",
354              "st",
355              "sa",
356              "sn",
357              "cs",
358              "sc",
359              "sl",
360              "sg",
361              "sk",
362              "si",
363              "sb",
364              "so",
365              "za",
366              "gs",
367              "es",
368              "lk",
369              "sd",
370              "sr",
371              "sj",
372              "sz",
373              "se",
374              "ch",
375              "sy",
376              "tw",
377              "tj",
378              "tz",
379              "th",
380              "tl",
381              "tg",
382              "tk",
383              "to",
384              "tt",
385              "tn",
386              "tr",
387              "tm",
388              "tc",
389              "tv",
390              "ug",
391              "ua",
392              "ae",
393              "gb",
394              "us",
395              "um",
396              "uy",
397              "uz",
398              "vu",
399              "ve",
400              "vn",
401              "vg",
402              "vi",
403              "wf",
404              "eh",
405              "ye",
406              "zm",
407              "zw"
408            ],
409            "type": "string",
410            "description": "Country determines the IP address of the proxy used for the query and the Google Search domain (e.g. <code>google.es</code> for Spain). The values must be lower-cased <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\" target=\"_blank\">ISO 3166</a> country codes supported by Google. By default, the actor uses United States (<code>google.com</code>).<br><br>This setting only applies to <strong>Search queries</strong>, but not to <strong>URLs</strong>."
411          },
412          "languageCode": {
413            "title": "Language",
414            "enum": [
415              "",
416              "af",
417              "sq",
418              "sm",
419              "ar",
420              "az",
421              "eu",
422              "be",
423              "bn",
424              "bh",
425              "bs",
426              "bg",
427              "ca",
428              "zh-CN",
429              "zh-TW",
430              "hr",
431              "cs",
432              "da",
433              "nl",
434              "en",
435              "eo",
436              "et",
437              "fo",
438              "fi",
439              "fr",
440              "fy",
441              "gl",
442              "ka",
443              "de",
444              "el",
445              "gu",
446              "iw",
447              "hi",
448              "hu",
449              "is",
450              "id",
451              "ia",
452              "ga",
453              "it",
454              "ja",
455              "jw",
456              "kn",
457              "ko",
458              "la",
459              "lv",
460              "lt",
461              "mk",
462              "ms",
463              "ml",
464              "mt",
465              "mr",
466              "ne",
467              "no",
468              "nn",
469              "oc",
470              "fa",
471              "pl",
472              "pt-BR",
473              "pt-PT",
474              "pa",
475              "ro",
476              "ru",
477              "gd",
478              "sr",
479              "si",
480              "sk",
481              "sl",
482              "es",
483              "su",
484              "sw",
485              "sv",
486              "tl",
487              "ta",
488              "te",
489              "th",
490              "ti",
491              "tr",
492              "uk",
493              "ur",
494              "uz",
495              "vi",
496              "cy",
497              "xh",
498              "zu"
499            ],
500            "type": "string",
501            "description": "Language for the search results, which is passed to Google Search as the <code>hl</code> URL query parameter. Only set this if you want to use a non-default language for the selected country. The values must be lower-cased <a href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\" target=\"_blank\">ISO 639</a> language codes supported by Google.<br><br>This setting only applies to <strong>Search queries</strong>, but not to <strong>URLs</strong>.",
502            "default": ""
503          },
504          "locationUule": {
505            "title": "UULE location code",
506            "type": "string",
507            "description": "The code for geolocation of search results. It's passed to Google Search as the <code>uule</code> URL query parameter. You can use the <a href='https://padavvan.github.io/' target='_blank'>UULE code generator</a>. Learn more about <a href='https://moz.com/ugc/geolocation-the-ultimate-tip-to-emulate-local-search' target='_blank'>emulating local search</a>. <br><br>This setting only applies to <strong>Search queries</strong>, but not to <strong>URLs</strong>."
508          },
509          "maxConcurrency": {
510            "title": "Max concurrency",
511            "minimum": 1,
512            "maximum": 100,
513            "type": "integer",
514            "description": "The maximum number of search results pages the crawler will load in parallel. A higher number means you will get your results faster, but also it will burn through your available proxies quicker.",
515            "default": 10
516          },
517          "saveHtml": {
518            "title": "Save HTML to dataset",
519            "type": "boolean",
520            "description": "If checked, the HTML of Google Search results pages will be stored to the default dataset, under the <code>html</code> property. This is useful if you need to process the HTML, but it makes the dataset large and reduces performance.",
521            "default": false
522          },
523          "saveHtmlToKeyValueStore": {
524            "title": "Save HTML to key-value store",
525            "type": "boolean",
526            "description": "If checked, the HTML of the Google Search results pages will be stored to the default key-value store and links to the files stored to the dataset under the <code>htmlSnapshotUrl</code> property. This is useful for debugging, since you can easily view the the pages in browser, but use of this feature has some performance penalty.",
527            "default": false
528          },
529          "includeUnfilteredResults": {
530            "title": "Include unfiltered results",
531            "type": "boolean",
532            "description": "If checked, the lower quality results that Google normally filters out will be included. Usually it is few hundred extra results.",
533            "default": false
534          },
535          "customDataFunction": {
536            "title": "Custom data function",
537            "type": "string",
538            "description": "Custom JavaScript function to extract additional attributes from the HTML of the result pages. The function accepts the same parameters as the <code>handlePageFunction</code> of the <a href='https://sdk.apify.com/docs/typedefs/cheerio-crawler-options'>CheerioCrawler</a> in Apify SDK. The return value of the function is saved to the results as the <code>customData</code> property."
539          }
540        }
541      },
542      "runsResponseSchema": {
543        "type": "object",
544        "properties": {
545          "data": {
546            "type": "object",
547            "properties": {
548              "id": {
549                "type": "string"
550              },
551              "actId": {
552                "type": "string"
553              },
554              "userId": {
555                "type": "string"
556              },
557              "startedAt": {
558                "type": "string",
559                "format": "date-time",
560                "example": "2025-01-08T00:00:00.000Z"
561              },
562              "finishedAt": {
563                "type": "string",
564                "format": "date-time",
565                "example": "2025-01-08T00:00:00.000Z"
566              },
567              "status": {
568                "type": "string",
569                "example": "READY"
570              },
571              "meta": {
572                "type": "object",
573                "properties": {
574                  "origin": {
575                    "type": "string",
576                    "example": "API"
577                  },
578                  "userAgent": {
579                    "type": "string"
580                  }
581                }
582              },
583              "stats": {
584                "type": "object",
585                "properties": {
586                  "inputBodyLen": {
587                    "type": "integer",
588                    "example": 2000
589                  },
590                  "rebootCount": {
591                    "type": "integer",
592                    "example": 0
593                  },
594                  "restartCount": {
595                    "type": "integer",
596                    "example": 0
597                  },
598                  "resurrectCount": {
599                    "type": "integer",
600                    "example": 0
601                  },
602                  "computeUnits": {
603                    "type": "integer",
604                    "example": 0
605                  }
606                }
607              },
608              "options": {
609                "type": "object",
610                "properties": {
611                  "build": {
612                    "type": "string",
613                    "example": "latest"
614                  },
615                  "timeoutSecs": {
616                    "type": "integer",
617                    "example": 300
618                  },
619                  "memoryMbytes": {
620                    "type": "integer",
621                    "example": 1024
622                  },
623                  "diskMbytes": {
624                    "type": "integer",
625                    "example": 2048
626                  }
627                }
628              },
629              "buildId": {
630                "type": "string"
631              },
632              "defaultKeyValueStoreId": {
633                "type": "string"
634              },
635              "defaultDatasetId": {
636                "type": "string"
637              },
638              "defaultRequestQueueId": {
639                "type": "string"
640              },
641              "buildNumber": {
642                "type": "string",
643                "example": "1.0.0"
644              },
645              "containerUrl": {
646                "type": "string"
647              },
648              "usage": {
649                "type": "object",
650                "properties": {
651                  "ACTOR_COMPUTE_UNITS": {
652                    "type": "integer",
653                    "example": 0
654                  },
655                  "DATASET_READS": {
656                    "type": "integer",
657                    "example": 0
658                  },
659                  "DATASET_WRITES": {
660                    "type": "integer",
661                    "example": 0
662                  },
663                  "KEY_VALUE_STORE_READS": {
664                    "type": "integer",
665                    "example": 0
666                  },
667                  "KEY_VALUE_STORE_WRITES": {
668                    "type": "integer",
669                    "example": 1
670                  },
671                  "KEY_VALUE_STORE_LISTS": {
672                    "type": "integer",
673                    "example": 0
674                  },
675                  "REQUEST_QUEUE_READS": {
676                    "type": "integer",
677                    "example": 0
678                  },
679                  "REQUEST_QUEUE_WRITES": {
680                    "type": "integer",
681                    "example": 0
682                  },
683                  "DATA_TRANSFER_INTERNAL_GBYTES": {
684                    "type": "integer",
685                    "example": 0
686                  },
687                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
688                    "type": "integer",
689                    "example": 0
690                  },
691                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
692                    "type": "integer",
693                    "example": 0
694                  },
695                  "PROXY_SERPS": {
696                    "type": "integer",
697                    "example": 0
698                  }
699                }
700              },
701              "usageTotalUsd": {
702                "type": "number",
703                "example": 0.00005
704              },
705              "usageUsd": {
706                "type": "object",
707                "properties": {
708                  "ACTOR_COMPUTE_UNITS": {
709                    "type": "integer",
710                    "example": 0
711                  },
712                  "DATASET_READS": {
713                    "type": "integer",
714                    "example": 0
715                  },
716                  "DATASET_WRITES": {
717                    "type": "integer",
718                    "example": 0
719                  },
720                  "KEY_VALUE_STORE_READS": {
721                    "type": "integer",
722                    "example": 0
723                  },
724                  "KEY_VALUE_STORE_WRITES": {
725                    "type": "number",
726                    "example": 0.00005
727                  },
728                  "KEY_VALUE_STORE_LISTS": {
729                    "type": "integer",
730                    "example": 0
731                  },
732                  "REQUEST_QUEUE_READS": {
733                    "type": "integer",
734                    "example": 0
735                  },
736                  "REQUEST_QUEUE_WRITES": {
737                    "type": "integer",
738                    "example": 0
739                  },
740                  "DATA_TRANSFER_INTERNAL_GBYTES": {
741                    "type": "integer",
742                    "example": 0
743                  },
744                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
745                    "type": "integer",
746                    "example": 0
747                  },
748                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
749                    "type": "integer",
750                    "example": 0
751                  },
752                  "PROXY_SERPS": {
753                    "type": "integer",
754                    "example": 0
755                  }
756                }
757              }
758            }
759          }
760        }
761      }
762    }
763  }
764}

Google Search Scraper OpenAPI definition

OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.

OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.

By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.

You can download the OpenAPI definitions for Google Search Scraper from the options below:

If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.

You can also check out our other API clients:

Developer
Maintained by Community