📊 SERP AnalysisPro Plan

GET_ALL_PAGES_FROM_SERP

Get all search results (organic + paid) for a keyword.

Formula Signature
=GET_ALL_PAGES_FROM_SERP(keyword, [limit], [location], [language])

Returns: 2D array with columns: Position, Type, URL, Title, Domain

Overview

GET_ALL_PAGES_FROM_SERP combines both organic and paid search results into a single unified view of Google's search results page. Each result includes a Type column that identifies whether it is an "Organic" or "Paid" listing, giving you a complete picture of the SERP in one function call.

Parameters

ParameterTypeRequiredDescription
keywordstringYesThe search query to retrieve all results for.
limitnumberNo (20)Total number of results to return, both organic and paid combined (1-100).
locationstringNo (United States)The geographic location for localized results.
languagestringNo (English)The language for search results.

Examples

1

Full SERP analysis for a commercial keyword

Get both paid and organic results to see the full picture for a competitive commercial keyword.

fx
=GET_ALL_PAGES_FROM_SERP("accounting software")

Output

PositionTypeURLTitleDomain
1Paidhttps://quickbooks.intuit.com/QuickBooks Accounting Softwarequickbooks.intuit.com
2Paidhttps://www.xero.com/Xero Online Accounting Softwarexero.com
3Paidhttps://www.freshbooks.com/FreshBooks Accounting Softwarefreshbooks.com
4Organichttps://www.pcmag.com/picks/the-best-accounting-softwareBest Accounting Software 2025pcmag.com
5Organichttps://www.nerdwallet.com/best/small-business/accounting-softwareBest Accounting Software for Small Businessnerdwallet.com
2

Compare SERP composition across markets

Analyze the full SERP for web hosting queries in the German market.

fx
=GET_ALL_PAGES_FROM_SERP("web hosting", 20, "Germany", "German")

Output

PositionTypeURLTitleDomain
1Paidhttps://www.ionos.de/hosting/webhostingIONOS Webhostingionos.de
2Paidhttps://www.strato.de/hosting/STRATO Webhostingstrato.de
3Organichttps://www.hosttest.de/vergleich/webhosting.htmlWebhosting Vergleich 2025hosttest.de
3

Informational keyword with no ads

For educational queries, results will typically be all organic with no paid listings.

fx
=GET_ALL_PAGES_FROM_SERP("what is photosynthesis", 10)

Output

PositionTypeURLTitleDomain
1Organichttps://www.nationalgeographic.org/encyclopedia/photosynthesis/Photosynthesis | National Geographic Societynationalgeographic.org
2Organichttps://en.wikipedia.org/wiki/PhotosynthesisPhotosynthesis - Wikipediaen.wikipedia.org
3Organichttps://www.khanacademy.org/science/biology/photosynthesisPhotosynthesis | Biology | Khan Academykhanacademy.org
4

Deep SERP analysis

Get 50 results for an extremely competitive keyword to see the full landscape.

fx
=GET_ALL_PAGES_FROM_SERP("best credit cards", 50)

Output

PositionTypeURLTitleDomain
1Paidhttps://www.nerdwallet.com/best/credit-cardsBest Credit Cards of 2025 | NerdWalletnerdwallet.com
2Paidhttps://www.bankrate.com/credit-cards/best/Best Credit Cards of 2025 | Bankratebankrate.com
3Organichttps://www.nerdwallet.com/best/credit-cardsBest Credit Cards of 2025 | NerdWalletnerdwallet.com
5

Local service SERP analysis

View both ads and organic results for a local service query.

fx
=GET_ALL_PAGES_FROM_SERP("dentist chicago", 15, "Illinois, United States")

Output

PositionTypeURLTitleDomain
1Paidhttps://www.aspendentalgroup.com/chicagoAspen Dental Chicago - Book Todayaspendentalgroup.com
2Organichttps://www.yelp.com/search?find_desc=dentist&find_loc=chicagoBest Dentists in Chicago | Yelpyelp.com

Use Cases

SEO Strategy

SERP real estate analysis

Assess how much of the search results page is occupied by ads versus organic results. For keywords where ads dominate the above-the-fold area, evaluate whether SEO investment is worthwhile or if PPC is necessary to gain visibility.

Digital Marketing Agency

Integrated search strategy planning

Create unified reports showing both organic and paid presence for client keywords. Identify keywords where the client ranks organically but does not advertise (and vice versa) to optimize the overall search strategy.

SaaS / Technology

Cross-channel competitor mapping

Build a comprehensive competitor map by analyzing which companies appear in both paid and organic results. Companies investing in both channels for the same keywords are your most aggressive competitors.

Marketing / Finance

Budget allocation research

Analyze the paid-to-organic ratio across your target keywords to inform budget allocation between SEO and PPC. Keywords with heavy ad presence may require paid investment, while those with few ads may be better served by organic optimization.

Content Strategy

Search intent classification

Use the presence and ratio of ads to classify keyword intent. Keywords with many ads tend to be transactional, while those with mostly organic results are typically informational. This classification guides content type decisions.

SEO Monitoring

SERP volatility tracking

Run periodic full-SERP snapshots for key terms. Compare the mix of paid and organic results over time to detect shifts in Google's SERP layout or changes in competitor advertising strategies.

Pro Tips

TIP

Count paid vs organic results using COUNTIF on the Type column to quickly assess the commercial competitiveness of a keyword. More ads generally mean higher CPC and stronger buyer intent.

TIP

Use conditional formatting to highlight rows differently based on the Type column (e.g., light blue for paid, light green for organic). This makes the SERP structure visible at a glance.

TIP

This function saves SERP credits compared to calling organic and paid functions separately. Use it as your default when you need both types of data.

TIP

Check if a domain appears in both paid and organic results using COUNTIFS. Companies appearing in both positions have a strong SERP dominance strategy worth analyzing.

TIP

Sort results by Domain to see which companies have the most total SERP presence (paid + organic combined). This reveals the true competitive leaders regardless of how they achieve visibility.

This function is ideal when you need to understand the full competitive landscape for a keyword. Rather than running separate calls for organic and paid results, you get everything in one request using a single SERP credit. The unified view mirrors what a real user sees on the search results page, with paid results interspersed among organic listings.

The output includes five columns: Position, Type, URL, Title, and Domain. Position reflects the visual order on the page, with top ads appearing first, followed by organic results, and bottom ads at the end. This ordering helps you understand the actual user experience for any given search query.

With a default limit of 20, you get a comprehensive view that typically covers all ads plus the first page of organic results. You can increase this up to 100 to see deeper into the organic listings. The limit applies to the total number of results, not separately to organic and paid.

This function is especially valuable for SERP dominance analysis. By examining the full page layout, you can assess how much real estate is occupied by ads versus organic results. Some highly commercial keywords have 4+ ads pushing organic results far below the fold, which has implications for both SEO and PPC strategy.

Geographic and language targeting parameters work identically to the other SERP functions, allowing you to analyze the full SERP in any market worldwide.

Common Errors

#REF! - Spill error

Cause: Existing data in adjacent cells prevents the output array from expanding.

Fix: Clear enough space for the header row plus your limit value. Remember this function has 5 columns (Position, Type, URL, Title, Domain) instead of 4, so ensure you have enough horizontal space as well.

#ERROR - SERP credit limit reached

Cause: Your monthly SERP credit balance is zero.

Fix: Review your credit usage across all SERP functions. Consider upgrading to Business for 10,000 monthly credits, or optimize your usage by caching results with paste-as-values.

#ERROR - Request timeout

Cause: Large result sets (limit > 50) may occasionally timeout due to the volume of data being processed.

Fix: Try a lower limit value or retry the request. If the issue persists, try the same query with a limit of 20 to confirm the keyword works, then gradually increase.

Frequently Asked Questions

The Position column reflects the visual order of results on the page. Top ads are numbered first, followed by organic results, and then bottom ads. This matches the top-to-bottom order a user would see when scrolling through the search results page.

No, GET_ALL_PAGES_FROM_SERP uses a single SERP credit per call. This is actually more efficient than making separate calls to GET_ORGANIC_PAGES_FROM_SERP and GET_PAID_PAGES_FROM_SERP, which would use two credits total.

Yes, it is common for a domain to appear in both paid and organic listings. For example, a company might run Google Ads while also ranking organically. The Type column helps you distinguish between the two placements for the same domain.

The limit applies to the total number of results returned. If you set a limit of 20 and there are 4 ads plus 16 organic results, you get all 20. If there are 4 ads and you set a limit of 10, you get the 4 ads plus the top 6 organic results.

Since this function combines both result types, a limit of 20 ensures you capture all paid ads (typically 3-7) plus at least a full page of organic results (10). This gives a comprehensive view without requiring manual adjustment in most cases.

No, the function returns standard organic web results and paid text ads. Local pack (map) results, knowledge panels, image results, and other SERP features are not included.

Yes, you can use Google Sheets' FILTER function on the Type column. For example: =FILTER(A1:E20, B1:B20="Organic") will show only organic results, and =FILTER(A1:E20, B1:B20="Paid") will show only paid results.

Related Functions

Start using GET_ALL_PAGES_FROM_SERP today

Install Unlimited Sheets to get GET_ALL_PAGES_FROM_SERP and 41 other powerful functions in Google Sheets.