Real-Time Google SERP Data

Google Search results.
Structured JSON.
Ready instantly.

One POST request returns a complete SERP response — organic results, ads, featured snippets, PAA, shopping, news, local, images, videos, and more. No scraping setup. No HTML parsing.

Fast — avg under 5s Zero infra setup Predictable JSON schema Global geo targeting
POST /search/google
curl --request POST \
  --url https://cetta-serp-api.p.rapidapi.com/search/google \
  --header 'Content-Type: application/json' \
  --data '{"q":"sushi"}'
200 OK · 0.2s
{
  "error": false,
  "code": "OK",
  "data": {
    "meta": {
      "query": "sushi", "country_code": "AU",
      "page": 1, "device_type": "desktop",
      "total_results": 168, "search_time_sec": 0.2
    },
    "serp": {
      "organic": [
        {
          "rank": 1,
          "title": "THE BEST Sushi in Melbourne (2026)",
          "url": "https://www.tripadvisor.com.au/...",
          "source": "Tripadvisor"
        }
        // ...9 more results
      ],
      "local_business": [
        { "rank": 1, "title": "Izakaya Domo", "rating": 4.8 }
        // ...2 more
      ],
      "people_also_ask": [
        { "question": "Is sushi healthy or junk?" }
        // ...3 more
      ],
      "related_searches": [ /* 8 items */ ],
      "featured_snippet": null,
      "ads": {}, "news": {}, "shopping": {}
    },
    "pagination": { "current_page": 1, "next_page": 2 }
  }
}

Every part of the SERP. One response.

All arrays are always present — [] when empty, never null. Only featured_snippet can be null.

Organic Results

The natural, non-paid search results Google ranks by relevance. Each entry includes rank position, title, URL, snippet, favicon, display URL, and nested sitelinks.

Ads

Paid Google Ads appearing at the top and bottom of the SERP. Returns position, headline, display URL, destination URL, and ad sitelinks.

Featured Snippet

The highlighted answer box Google surfaces at position zero — above all organic results. Can be a paragraph, list, or table, with the source URL included.

People Also Ask

Related questions Google surfaces based on the query — each with its question text, Google's answer, and source URL. Great for content gap analysis and AI grounding.

Local Business

The local map pack results Google shows for location-based queries. Returns business name, rating, review count, address, category tags, Maps link, and business website.

Shopping

Google Shopping product listings shown for commercial queries. Returns product title, current price, original price (if on sale), store name, star rating, review count, and product image.

News

Top news articles Google surfaces for the query, typically for trending or time-sensitive searches. Each item includes headline, publisher name, publish date, excerpt, and thumbnail.

Images & Videos

Visual results embedded in the SERP. Images include thumbnail, source site, and original URL. Videos additionally include duration and publish date.

Send a keyword. Get back everything.

POST /search/google
{
  "q": "best laptops 2026",
  "country": "us",
  "lang": "en",
  "page": 1,
  "device_type": "desktop"
}
200 OK
{
  "error": false,
  "code": "OK",
  "data": {
    "meta": {
      "query": "best laptops 2026",
      "page": 1,
      "device_type": "desktop",
      "total_results": 382000000,
      "search_time_sec": 0.42
    },
    "serp": {
      "organic": [
        {
          "rank": 1,
          "title": "Best Laptops (2026) — Wired",
          "url": "https://www.wired.com/...",
          "snippet": "We tested over 80 laptops...",
          "source": "Wired"
        }
      ],
      "featured_snippet": { ... },
      "people_also_ask": [ ... ],
      "shopping": [ ... ],
      "news": [ ... ]
    },
    "pagination": {
      "current_page": 1,
      "next_page": 2
    }
  }
}
Field Required Type Description
q✅ yesstringSearch query, 1–512 chars
countryoptionalstringISO 3166-1 alpha-2 — e.g. us, id, gb
langoptionalstringISO 639-1 — e.g. en, id, de
pageoptionalinteger1–10, defaults to 1
device_typeoptionalstringdesktop, mobile, tablet — or random if omitted
tbmoptionalstringnews, shopping, images — Google vertical
tbsoptionalstringRecency filter — qdr:h qdr:d qdr:w qdr:m
uuleoptionalstringCity-level geotargeting string (max 256 chars)

Who builds with Cetta SERP API.

SEO & Rank Tracking Tools
Monitor keyword positions, analyze SERP volatility, and track competitor visibility.
AI Agents & LLM Pipelines
Ground AI responses with real search data — PAA, featured snippets, and organic results feed directly into RAG and agent workflows.
Market Research & Intelligence
Capture top results, shopping prices, and competitor signals across different countries and languages.
Content & Publishing Systems
Use related searches, PAA, and news to power editorial ideas, alert systems, and real-time content dashboards.

Stop building scrapers. Start building products.

No scraping infra
No proxy setup, no CAPTCHA handling, no maintenance overhead.
Predictable JSON
Consistent schema every time — no surprise nulls, no brittle parsing.
Flexible targeting
Country, language, device, vertical, recency, and city-level geo.
Ready in minutes
One endpoint, simple POST body, works with any language or framework.
const res = await fetch(
  'https://cetta-serp-api.p.rapidapi.com/search/google',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-RapidAPI-Key': 'YOUR_KEY'
    },
    body: JSON.stringify({
      q: 'best coffee maker',
      country: 'us', lang: 'en'
    })
  }
);
const { data } = await res.json();
console.log(data.serp.organic);

Common questions.

Can I use query strings instead of a JSON body?

No. POST /search/google accepts a JSON body only. Sending query-string parameters returns 400 BAD_REQUEST immediately.

Are all SERP arrays always present?

Yes. Every array in serp is always present — it returns [] when empty, never null. Only featured_snippet can be null.

Why does total_results return 0?

Google only surfaces total_results and search_time_sec on desktop. Mobile and tablet device types return 0 for both — this is expected behavior, not a bug.

How do I get shopping or news results only?

Send "tbm": "shopping" or "tbm": "news" in your request body. Combine with "tbs": "qdr:d" to filter news to the last 24 hours.

Does it support non-English queries?

Yes. Set lang to the appropriate ISO 639-1 code (e.g. id for Indonesian) and the q field accepts any language without restrictions.

How do I handle 429 or 504 errors?

Both are transient. 429 means rate limit — wait a few seconds and retry with exponential backoff. 504 means timeout — retry the same request.

Simple, usage-based pricing.

Start free. Scale as you grow. No hidden fees.

Pay As You Go
$0 /month
  • Always free 100 req/month
  • then $0.0021/req
  • No subscription required
Get started free
Starter
$5 /month
  • 2,300 requests/month
  • then $0.002/req
  • All features included
Subscribe
Growth
$12 /month
  • 5,700 requests/month
  • then $0.0018/req
  • All features included
Subscribe
Recommended
Pro
$20 /month
  • 9,500 requests/month
  • then $0.0018/req
  • All features included
Subscribe

Stop scraping. Start shipping.

Your product needs clean, structured Google search data. Cetta SERP API is the fastest path to get there.