logo
EN

Google Search Results

Give a keyword and optional search filters to get public Google listings with rank, snippet, links, and on-page search features.

Developer
hello_moto
Pricing
From $0.006 / 10 records
Last updated
2026-09-18

Overview

Google search is where people decide which page to open: the title, the snippet, the visible URL, and where the listing sits on the page. This app turns one public search keyword into a structured table of those listings so SEO, brand, and competitive work can start from the same results a searcher would see.

Each row keeps the keyword beside the listing, so later comparisons stay attached to the query that produced them. Ads, AI overviews, related questions, and sitelinks stay in the same table when Google shows them, which makes this a search-results workbook rather than a copy of any destination page.

Data notes

Each row is one public Google search listing for the submitted keyword. Organic hits, ads, AI overview blocks, related questions, and related queries can appear as separate rows, distinguished by Result type. Result title, Snippet, Displayed URL, Rank, and Result URL are the text shown on the results page at collection time, not a later crawl of the destination page. Collected at, Cleaned at, and Updated at are returned without a timezone. Keyword, Required words, Region, and similar columns repeat the search settings across rows from the same query.

The collection does not cover signed-in results, private pages, or the full body of a destination page. Paid product fields, AI overview fields, related questions, related queries, and sitelinks are often empty on ordinary organic rows.

What a result looks like

Each row is one public Google search listing.

Result titleSnippetResult URLKeywordResult typeRank
CartierMovement, fluidity, and color: the new Clash de Cartier creations amplify this distinctive jewelry collection. Shop the collection · Clash de Cartier ring, ... Bracelets Cartier watch collections Rings Necklaces Luxury Sunglasses Collection Luxury Watches for himhttps://www.cartier.com/en-us/homecartierorganic1
Clash de CartierDiscover the Clash de Cartier jewelry collection, where spheres, beads, and clean lines meet in rings, bracelets, and necklaces.https://www.cartier.com/en-us/jewelry/collections/clash-de-cartier/cartierorganic2

Displayed URL, Sitelink title 1, and Interface language are also available when the listing shows them.

Use cases

  • For rank tracking, group rows by Keyword and read Rank, Result title, and Result URL to see which pages occupy the first results.
  • For SERP feature review, filter Result type and compare Ad title, AI overview, and Related question with the organic Result title.
  • For brand monitoring, keep Keyword beside Displayed URL and Result title to see which domains the query actually surfaces.
  • For landing-page work, open Result URL with Sitelink title 1 and Sitelink title 2 to rebuild the public cards that searchers see.

Scope and boundaries

One Google search keyword per task with an expected result count from 1 to 200. Results are returned in complete pages of 10 and may be rounded up. Collection covers at most 20 Google result pages at 10 results per page. Public Google search listings only.

  • Good for
  • When you need public Google search listings for one keyword, including titles, snippets, links, and ranks.
  • When you need to observe ads, AI overviews, related questions, and sitelinks alongside organic results.
  • Do not use for
  • When you need an instant handful of results — this App runs as a background collection task.
  • When you need signed-in, private, or full destination-page body content — results cover public search listings only.

Failure handling

Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.

  1. 1If no listings are returned, shorten the keyword or remove date, region, language, and site limits, then retry.
  2. 2Retry later after rate limiting, temporary unavailability, or a timeout. If authentication fails, verify the API Key configured for the execution environment.
  3. 3Resubmit the same input after a failed or expired task. Keep completed records after a partial success.

Input

Parameters required to call this App, generated from the input.schema in manifest.json.

  • Search keywordkeywordRequiredstring
    Google search keyword to collect. Each task accepts one keyword from 1 to 512 characters.
    Examplecartier
  • Expected result countcrawl_numRequiredinteger
    Expected number of search results, from 1 to 200. Results are returned in complete pages of 10, so the actual count may be rounded up. A partial page is still billed as 10 results.
    Range1–200Example1
  • Required wordsall_these_wordsOptionalstring
    Words that must all appear in the result. Separate multiple words with spaces. Leave empty to omit this filter.
  • Any of these wordsany_of_these_wordsOptionalstring
    Candidate words of which at least one should appear. Separate multiple words with spaces. Leave empty to omit this filter.
  • Excluded wordsnone_of_these_wordsOptionalstring
    Words that must not appear in the result. Separate multiple words with spaces. Leave empty to omit this filter.
  • Exact phrasethis_exact_word_or_phraseOptionalstring
    Exact word or phrase that must appear as a whole. Leave empty to omit this filter.
  • Number rangenumbers_ranging_fromOptionalstring
    Number range to keep in the results, such as 2024..2026. Leave empty to omit this filter.
  • File typefile_typeOptionalstring
    Keep only results of this file type, such as Adobe Acrobat PDF (.pdf). Leave empty to omit this filter.
  • Interface languageinterface_languageOptionalstring
    Google interface language, such as English. Leave empty to omit this filter.
  • Result languagesearch_languageOptionalstring
    Language of the search results, such as English. Leave empty to omit this filter.
  • Last updatelast_updateOptionalstring
    Last-update filter value, such as w. Leave empty to omit this filter.
  • Search typeorder_typeOptionalstring
    Search type value, such as ALL. Leave empty to omit this filter.
  • RegionregionOptionalstring
    Restrict results to a region, such as United States. Leave empty to omit this filter.
  • Site or domainsite_or_domainOptionalstring
    Restrict the search to a site or domain, such as instagram.com. Leave empty to omit this filter.
  • Start datestart_dateOptionalstring
    Start of the date range in YYYY-MM-DD. Leave empty to omit this filter.
  • End dateend_dateOptionalstring
    End of the date range in YYYY-MM-DD. Leave empty to omit this filter.
  • Keyword locationterms_appearingOptionalstring
    Where the keyword should appear, such as anywhere in the page. Leave empty to omit this filter.
  • Usage rightsusage_rightsOptionalstring
    Usage-rights filter, such as not filtered by license. Leave empty to omit this filter.

Output

Field structure of a single record, generated from the output.schema in manifest.json.

  • AI overviewaio_contentstring
    AI overview body shown on the results page
  • AI source titleaio_source_titlestring
    Title of a source cited by the AI overview
  • AI source snippetaio_source_title_descriptionstring
    Snippet of a source cited by the AI overview
  • AI source URLaio_source_title_urlstring
    Page link of a source cited by the AI overview

Sample data

Generated from output.schema. Fields without a sample value use structural placeholders.

output.example
{
  "aio_content": "<aio_content>",
  "aio_source_title": "<aio_source_title>",
  "aio_source_title_description": "<aio_source_title_description>",
  "aio_source_title_url": "<aio_source_title_url>",
  "all_these_words": "cartier",
  "any_of_these_words": "<any_of_these_words>",
  "average_rating": "<average_rating>",
  "biz_id": "cartier",
  "clean_update_time": "2026-08-25T16:23:21",
  "crawl_time": "2026-08-25T16:23:18",
  "current_page": "1",
  "detail_url": "https://www.cartier.com/en-us/home",
  "displayed_url": "www.cartier.com",
  "end_date": "<end_date>",
  "file_type": "any format",
  "has_next_page": "true",
  "interface_language": "English",
  "keyword": "cartier",
  "last_update": "<last_update>",
  "none_of_these_words": "<none_of_these_words>",
  "numbers_ranging_from": "<numbers_ranging_from>",
  "order_type": "all",
  "pagination_times": "10",
  "paid_product_price": "<paid_product_price>",
  "paid_product_provider": "<paid_product_provider>",
  "paid_product_title": "<paid_product_title>",
  "paid_title_url": "<paid_title_url>",
  "partition_day": "2026-08-25",
  "people_also_ask_answer": "<people_also_ask_answer>",
  "people_also_ask_date": "<people_also_ask_date>",
  "people_also_ask_question": "<people_also_ask_question>",
  "people_also_ask_title": "<people_also_ask_title>",
  "people_also_ask_url": "<people_also_ask_url>",
  "rating_count": "<rating_count>",
  "region": "any region",
  "related_queries_title": "<related_queries_title>",
  "related_queries_url": "<related_queries_url>",
  "result_description": "Movement, fluidity, and color: the new Clash de Cartier creations amplify this distinctive jewelry collection. Shop the collection · Clash de Cartier ring, ... Bracelets Cartier watch collections Rings Necklaces Luxury Sunglasses Collection Luxury Watches for him",
  "result_position": "1",
  "result_title": "Cartier",
  "result_type": "organic",
  "results_per_page": "10",
  "search_language": "any language",
  "site_link_title_1": "Bracelets",
  "site_link_title_2": "Cartier watch collections",
  "site_link_title_3": "Rings",
  "site_link_title_4": "Necklaces",
  "site_link_url_1": "https://www.cartier.com/en-us/jewelry/bracelets/",
  "site_link_url_2": "https://www.cartier.com/en-us/watches/collections/",
  "site_link_url_3": "https://www.cartier.com/en-us/jewelry/rings/",
  "site_link_url_4": "https://www.cartier.com/en-us/jewelry/necklaces/",
  "site_or_domain": "<site_or_domain>",
  "sr_updated_time": "2026-08-25T16:23:22",
  "start_date": "<start_date>",
  "task_item": "cartier",
  "terms_appearing": "anywhere in the page",
  "this_exact_word_or_phrase": "<this_exact_word_or_phrase>",
  "usage_rights": "not filtered by license",
  "view_count": "<view_count>",
  "task_no_data": false
}

Integration

This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way. This App runs asynchronously and can be canceled midway: After you cancel, the run stops. Records already delivered are kept and billed.

With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.

Client config

Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.

mcpServers config
{
  "mcpServers": {
    "octoparse_datahub": {
      "type": "http",
      "url": "https://mcp-v2.octoparse.com?pin=hello_moto/google-search-results",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Let AI set it up for you

Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)

detail.access.mcp.composeHint

Pricing

10 returned records

Charged by the number of records successfully returned. Failed runs are not charged. Billed in units of 10 records; any partial unit is rounded up to 10 records.

$0.006/ 10 records
Per task submitted

Charged once per submitted run, regardless of how many records are returned.

$0.0001/ run

Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.

View credits

Try it now

Fill in the parameters and run. Results come from a real call.

Example
Parameters are validated against input.schema before submission
From $0.006 / 10 records