GET_ORGANIC_PAGES_FROM_SERP
Get organic search results for a keyword from Google.
=GET_ORGANIC_PAGES_FROM_SERP(keyword, [limit], [location], [language])Returns: 2D array with columns: Position, URL, Title, Domain
Overview
GET_ORGANIC_PAGES_FROM_SERP retrieves the organic (non-paid) search results from Google for any keyword and returns them as a structured table directly in your spreadsheet. Each result includes its position, URL, page title, and domain, making it easy to analyze the competitive landscape for any search query.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
keyword | string | Yes | The search query to retrieve organic results for. |
limit | number | No (10) | Number of results to return (1-100). |
location | string | No (United States) | The geographic location for localized results. |
language | string | No (English) | The language for search results. |
Examples
Get top 10 results for a keyword
Retrieve the first page of organic results for "best project management tools".
=GET_ORGANIC_PAGES_FROM_SERP("best project management tools")Output
| Position | URL | Title | Domain |
| 1 | https://www.pcmag.com/picks/the-best-project-management-software | The Best Project Management Software for 2025 | pcmag.com |
| 2 | https://www.forbes.com/advisor/business/best-project-management-software/ | Best Project Management Software of 2025 | forbes.com |
| 3 | https://clickup.com/blog/project-management-tools/ | 25 Best Project Management Tools & Software | clickup.com |
Get top 20 results for deeper analysis
Retrieve 20 organic results to analyze the competitive landscape beyond the first page.
=GET_ORGANIC_PAGES_FROM_SERP("content marketing strategy", 20)Output
| Position | URL | Title | Domain |
| 1 | https://blog.hubspot.com/marketing/content-marketing-plan | How to Develop a Content Marketing Strategy | hubspot.com |
| 2 | https://contentmarketinginstitute.com/developing-a-strategy/ | Content Marketing Strategy: The Ultimate Guide | contentmarketinginstitute.com |
Analyze UK search results
See which pages rank for car insurance queries in the UK market.
=GET_ORGANIC_PAGES_FROM_SERP("car insurance comparison", 10, "United Kingdom", "English")Output
| Position | URL | Title | Domain |
| 1 | https://www.comparethemarket.com/car-insurance/ | Compare Car Insurance Quotes | comparethemarket.com |
| 2 | https://www.gocompare.com/car-insurance/ | Car Insurance Comparison | GoCompare | gocompare.com |
Research Spanish-language results
Find which sites rank for recipe-related queries in Mexico.
=GET_ORGANIC_PAGES_FROM_SERP("recetas faciles", 10, "Mexico", "Spanish")Output
| Position | URL | Title | Domain |
| 1 | https://www.kiwilimon.com/recetas/faciles | Recetas Faciles y Rapidas | kiwilimon.com |
| 2 | https://www.cocinafacil.com.mx/ | Cocina Facil - Recetas de cocina | cocinafacil.com.mx |
Find top 5 results for a niche keyword
Get a small set of top results for a specific long-tail keyword.
=GET_ORGANIC_PAGES_FROM_SERP("how to winterize a sprinkler system", 5)Output
| Position | URL | Title | Domain |
| 1 | https://www.thisoldhouse.com/plumbing/how-to-winterize-sprinkler-system | How to Winterize Your Sprinkler System | thisoldhouse.com |
| 2 | https://www.familyhandyman.com/article/winterize-sprinkler-system/ | How to Winterize a Sprinkler System in 8 Steps | familyhandyman.com |
Use Cases
SERP competitor analysis
Pull organic results for all target keywords into a spreadsheet. Analyze which domains appear most frequently, identify content patterns among top-ranking pages, and discover competitors that consistently outrank your clients.
Content gap identification
Compare your site's ranking pages against the full SERP for each target keyword. Identify keywords where competitors rank but you do not, revealing content topics to prioritize in your editorial calendar.
Link building prospecting
Retrieve the top 50-100 results for relevant keywords to find link building opportunities. Pages ranking on page 2-5 are often more receptive to outreach and may link to valuable resources in your niche.
Market entry research
Before entering a new market, analyze organic results for product-related keywords in different countries. Understand the competitive landscape, identify dominant players, and assess the difficulty of ranking in each market.
SERP feature monitoring
Track which pages hold top positions for your product category keywords over time. Monitor when competitors launch new content that displaces your rankings and respond with content updates.
Academic research analysis
Study which types of sources (academic journals, news sites, government pages) appear in search results for research-related queries. Analyze the diversity of sources Google surfaces for informational queries.
Pro Tips
Use the UNIQUE function on the Domain column to quickly see which domains dominate the SERP for a given keyword. This reveals the key competitors you need to outrank.
Combine with COUNTIF to count how many times each domain appears across multiple keyword SERPs. Domains with high frequency are strong competitors in your niche.
Export results for the same keyword over time to track SERP volatility. Stable SERPs are harder to break into, while volatile SERPs present more opportunities.
Run the function for both your primary keyword and its long-tail variations. Compare the results to find pages that rank broadly across multiple related queries.
Use IMPORTRANGE to pull SERP data into a centralized analysis sheet from multiple keyword research sheets, building a comprehensive competitive intelligence database.
This function is a powerful tool for competitive analysis and content strategy. By examining which pages rank for your target keywords, you can understand what type of content Google favors, identify content gaps, and discover new competitors you may not have been aware of. The structured output makes it straightforward to filter, sort, and analyze results using standard Google Sheets features.
You can control the number of results returned with the limit parameter, from 1 to 100. The default is 10, which corresponds to the first page of Google results. Increasing this to 20 or 50 lets you see deeper into the search results, which is useful for identifying emerging competitors or finding link building opportunities on lower-ranking pages.
Geographic and language targeting works the same as other SERP functions. Specify a location like "United States" or "Germany" and a language to get localized results. This is critical for international SEO where search results vary significantly by country.
The function returns a 2D array that spills across multiple rows and columns, starting from the cell where the formula is placed. Make sure there is enough empty space below and to the right of the formula cell to accommodate all results. If existing data blocks the output, you will see a spill error.
Common Errors
#REF! - Spill errorCause: The output array is trying to expand into cells that already contain data.
Fix: Clear the cells below and to the right of the formula to make room for the full result set. For 10 results, you need at least 11 rows (header + results) and 4 columns.
#ERROR - SERP credit limit reachedCause: Your monthly SERP credits have been exhausted.
Fix: Wait for your credits to reset at the start of your next billing cycle, or upgrade to a Business plan for more credits.
#ERROR - Invalid limit valueCause: The limit parameter is set to a number less than 1 or greater than 100, or is not a valid number.
Fix: Set the limit to a whole number between 1 and 100. If you are referencing a cell, make sure it contains a valid number.
Frequently Asked Questions
Each call to GET_ORGANIC_PAGES_FROM_SERP uses one SERP credit regardless of the limit parameter. Whether you request 5 results or 100 results, it counts as a single credit.
You can retrieve up to 100 organic results per call by setting the limit parameter to 100. This covers roughly the first 10 pages of Google search results.
Featured snippets are included in the organic results and are typically shown at position 1. The URL returned is the page Google pulls the snippet from. However, the output does not indicate which result is a featured snippet versus a standard organic listing.
Yes. Since the results are returned as a standard spreadsheet array, you can use Google Sheets FILTER, QUERY, or VLOOKUP functions to filter by domain, position range, or title keywords. For example, =FILTER(results, REGEXMATCH(results[Domain], "competitor.com")).
Manual Google searches are personalized based on your browsing history, location (down to city level), and Google account preferences. This function returns non-personalized results for the specified country-level location, providing a more objective view of the SERP.
No, this function returns only the standard organic blue-link results. SERP features like People Also Ask boxes, knowledge panels, image packs, and related searches are not included in the output.
The function is designed for research and analysis within your spreadsheet. It is subject to your plan's SERP credit limits (1,000 for Pro, 10,000 for Business). For large-scale SERP analysis, consider batching your queries and running them over several days.
Results are fetched in real-time each time the function is called or the cell is recalculated. They reflect the current state of Google's search results at the moment of the request. Results are not cached between calls.
Related Functions
Start using GET_ORGANIC_PAGES_FROM_SERP today
Install Unlimited Sheets to get GET_ORGANIC_PAGES_FROM_SERP and 41 other powerful functions in Google Sheets.