Scraping Central is reader-supported. When you buy through links on our site, we may earn an affiliate commission.

3.22beginner5 min read

What Is a SERP? Anatomy of a Modern Results Page

A modern Google results page isn't 10 blue links, it's a dozen feature blocks, each with its own data shape. Here's the map.

What you’ll learn

  • Enumerate the major SERP feature blocks (organic, ads, knowledge, local, images, video, AI overviews).
  • Read a SERP visually and identify each block.
  • Understand why SERP scraping is fundamentally different from regular API scraping.
  • Use Catalog108's mock SERP to practice block identification.

SERP = Search Engine Results Page. In 2026, a Google results page for any query of interest contains 10–20 distinct feature blocks, each populated from different data sources, each shaped differently. Calling it "10 blue links" is decades out of date.

This lesson maps the modern SERP. Lessons 3.23–3.30 dig into individual blocks; this is the overview.

The major feature blocks

Type a query like phone into Google and scan the page. You'll typically see:

  1. Search Ads, sponsored results at the very top.
  2. Shopping Ads / Shopping Pack, product cards with images and prices.
  3. Organic Results, the classic blue-link results, usually 10 per page.
  4. Knowledge Graph / Knowledge Panel, the box on the right with structured entity info (especially for brand queries).
  5. Featured Snippet, a paragraph or list at position 0, answering the query directly.
  6. People Also Ask, expandable Q&A box, sometimes infinitely.
  7. Local Pack / Map Results, three local businesses with a map for location-aware queries.
  8. Image Pack, a horizontal carousel of related images.
  9. Video Carousel, YouTube or web video thumbnails.
  10. Top Stories, news cards, especially for trending queries.
  11. Sitelinks, sub-links under big-brand organic results.
  12. AI Overview, generative answer block (lesson 3.27).
  13. Refinements, Related searches chips at the bottom.

Different queries surface different combinations. A weather query → big weather widget. A recipe query → a recipe carousel. A python error query → a Stack Overflow snippet + organic results.

Why this matters for scrapers

If you treat a SERP as "organic results only," you miss 50%+ of the value:

  • Ads tell you what brands compete for the query. Worth tracking even when you don't click them.
  • Knowledge panels normalize entity data. Cheaper than scraping the entity's own site.
  • Featured snippets are the answer. If you're answering a question, that's the data point.
  • Local pack is the local-SEO universe. Restaurants, dentists, plumbers, local pack is where they live.
  • AI overviews are reshaping click-through. The block at the top is the new "above the fold."

A scraper that returns only organic links is solving 1980s search.

Block shape varies wildly

Each block has its own structured shape. A SERP API will typically return JSON like:

{
  "organic": [{"position": 1, "title": "...", "link": "...", "snippet": "..."}...],
  "ads": [...],
  "shopping_ads": [...],
  "knowledge_graph": {"title": "...", "type": "Brand", "description": "..."...},
  "featured_snippet": {"snippet": "...", "source": "..."},
  "people_also_ask": [{"question": "...", "answer": "..."}...],
  "local_pack": {"places": [...], "map_url": "..."},
  "image_pack": {"images": [...]},
  "video_carousel": {"videos": [...]},
  "top_stories": [...],
  "ai_overview": {"text": "...", "sources": [...]},
  "related_searches": [...]
}

Your scraper picks the blocks you need. Lessons 3.31–3.40 cover SERP-API providers; the point here is the variety of shapes.

Block discovery on a live SERP

Open practice.scrapingcentral.com/search?q=phone (Catalog108's SERP mock). You'll see a deliberately SERP-shaped page: knowledge panel on the right, mixed organic results, a featured snippet block.

For real Google, open Google in Chrome with DevTools → Elements:

  • Right-click any block → Inspect.
  • Note the CSS class. Google uses opaque, randomized class names, these change weekly.
  • This is why scraping Google directly is so painful (lesson 3.30), there's no stable selector.

A SERP API instead returns the JSON above with stable field names.

Counting features per query

A useful sanity check: scrape (or just visually inspect) the SERP for 10 queries and count the feature blocks in each.

  • weather → ~3 blocks (weather widget, related searches, organic).
  • python list comprehension → ~5 blocks (featured snippet, PAA, organic, video, related).
  • iPhone 15 reviews → ~8+ blocks (ads, shopping, organic, video carousel, top stories, PAA, related, knowledge panel).
  • pizza near me → local pack, map, organic local results.

The feature count tracks query intent: informational queries get answer blocks, commercial queries get ads/shopping, local queries get the local pack.

Geography and locale matter

Same query in different countries / languages returns different SERPs. The gl (geolocation) and hl (host language) parameters drive this. Lesson 3.29 covers them in depth.

For now: if you're tracking rankings in Germany, scrape the German SERP (google.de, gl=de, hl=de). Don't assume google.com results match.

Python: SERP-aware data shape

If you used a SERP API (covered in lesson 3.34), the data might look like:

import requests, json

# Hypothetical SERP-API endpoint (any provider; this is illustrative)
r = requests.get("https://api.example-serp-api.com/search", params={
  "q": "phone",
  "engine": "google",
  "gl": "us",
  "hl": "en",
  "api_key": "YOUR_KEY",
})
data = r.json()

# Each block is its own structure
print("Organic:", len(data.get("organic_results", [])))
print("Ads:", len(data.get("ads", [])))
print("KG:", bool(data.get("knowledge_graph")))
print("PAA:", len(data.get("related_questions", [])))
print("Local:", bool(data.get("local_results")))

Compare to the eyeballed page: the JSON mirrors the visible blocks one-to-one.

Hands-on lab

Open /search?q=phone on Catalog108. Inventory the visible blocks. Then open a real Google search for the same query and inventory those. Compare, the basic shape is similar, but production Google has many more blocks. Take screenshots and label each block; this is the mental map you'll lean on for the next 18 lessons.

Hands-on lab

Practice this lesson on Catalog108, our first-party scraping sandbox.

Open lab target → /search?q=phone

Quiz, check your understanding

Pass mark is 70%. Pick the best answer; you’ll see the explanation right after.

What Is a SERP? Anatomy of a Modern Results Page1 / 8

Which of the following is NOT typically a feature block on a modern Google SERP?

Score so far: 0 / 0