Google Search Scraper — Google Custom Search API Alternative avatar

Google Search Scraper — Google Custom Search API Alternative

Pricing

$20.00 / 1,000 web search query (cse-compatible)s

Go to Apify Store
Google Search Scraper — Google Custom Search API Alternative

Google Search Scraper — Google Custom Search API Alternative

Google search scraper and Google Custom Search API alternative — a drop-in replacement for the CSE JSON API's "Search entire web" mode (killed Jan 1, 2027). Queries Google SERP directly and returns CSE-compatible JSON: titles, links, snippets, ranks.

Pricing

$20.00 / 1,000 web search query (cse-compatible)s

Rating

0.0

(0)

Developer

NexGenData

NexGenData

Maintained by Community

Actor stats

0

Bookmarked

22

Total users

1

Monthly active users

9 hours ago

Last modified

Share

A Google search scraper built as a Google Custom Search API alternative: same CSE-style JSON, results straight from the Google SERP.

SERP Results & Web Search API

CSE replacement: a Google Custom Search Engine substitute for programmatic SERP.

📊 Sample Output

2 real rows delivered by Google Search Scraper — SERP Results & Web Search API — run cpC5JFmJZOxXmIxw4 on build 0.0.42

kindurlqueriescontextsearchInformationitems
customsearch#search{'type': 'application/json', 'template': 'https://www.googleapis.com/…{'request': [{'title': 'Google Search', 'totalResults': '0', 'searchT…{'title': 'NexGenData CSE Replacement'}{'searchTime': 52.052, 'formattedSearchTime': '52.05', 'totalResults'…[]
customsearch#search{'type': 'application/json', 'template': 'https://www.googleapis.com/…{'request': [{'title': 'Google Search', 'totalResults': '1', 'searchT…{'title': 'NexGenData CSE Replacement'}{'searchTime': 6.16, 'formattedSearchTime': '6.16', 'totalResults': '…[{'kind': 'customsearch#result', 'title': 'Custom Search JSON API | G…

Real rows from run cpC5JFmJZOxXmIxw4 on build 0.0.42 (2026-09-25), unedited apart from masked emails/phones and shortened long text; fields the source does not publish are empty.

⚙️ Sample inputs

This is the Store example input — the same input Apify's automated check runs — so it is proven to return rows on the current build. Paste it into the input form, or send it through the API, CLI or a schedule:

{
"queries": [
"apify scraper",
"google custom search alternative"
],
"num": 10,
"start": 1,
"gl": "us",
"hl": "en",
"safe": "off"
}

🔧 Input reference

FieldTypeDefaultWhat it does
queries (required)array["apify scraper", "google custom search alternative"]One or more web-search queries. Each query is run independently and returns a CSE-compatible JSON object (one dataset record per query).
numinteger10Number of results to return per query. Mirrors the CSE num parameter. Max 100 (matches CSE max).
startinteger11-based start index of the first result. Use start=11, num=10 to get page 2, etc. Mirrors the CSE start parameter.
glstring"us"Two-letter country code biasing results toward that region. Mirrors CSE gl. Examples: us, gb, de, fr, ca, au, jp, br, in.
hlstring"en"Two-letter language code for the Google UI and results. Mirrors CSE hl. Examples: en, es, fr, de, ja, pt.
safestring (off, medium, high)"off"Safe search level. off = no filtering, medium = moderate, high = strict (adult content filtered).
sitestring""Restrict results to a single domain, e.g. github.com. Equivalent to appending site: to the query. Mirrors CSE siteSearch.

🧾 JSON sample record

One real record from run cpC5JFmJZOxXmIxw4 (emails/phones masked, long text shortened):

{
"kind": "customsearch#search",
"url": {
"type": "application/json",
"template": "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&gl={gl?}&hl={hl?}&safe={safe?}"
},
"queries": {
"request": [
{
"title": "Google Search",
"totalResults": "0",
"searchTerms": "apify scraper",
"count": 0,
"startIndex": 1,
"inputEncoding": "utf8",
"outputEncoding": "utf8",
"safe": "off",
"cx": "nexgendata-cse-replacement",
"gl": "us",
"hl": "en"
}
]
},
"context": {
"title": "NexGenData CSE Replacement"
},
"searchInformation": {
"searchTime": 52.052,
"formattedSearchTime": "52.05",
"totalResults": "0",
"formattedTotalResults": "0"
},
"items": []
}

💰 Pricing

EventPrice (USD)When it is charged
Web search query (CSE-compatible) (search-query)$0.02One Google SERP fetch + parse + CSE-envelope response. $0.02 per query ($20 per 1,000); Google's retired Custom Search JSON API charged $5 per 1,000.

Pay-per-event: you pay only for what the run delivers. A run that delivers nothing bills no result events (only the actor-start event, when the actor defines one). Example: a run that delivers 100 results costs 100 × $0.02 = $2.00 plus the start fee.

More from the NexGenData Data APIs family:

27 more in this family on the NexGenData Store page.

📊 What you get

Clean JSON output (6 fields):

  • query — Query
  • position — Position
  • title — Title
  • url — Url
  • snippet — Snippet
  • source — Source

Pricing: $0.020 per result (Pay-Per-Event) — about 50 results per $1.

🤖 Use with AI agents

Point Claude, the OpenAI Agents SDK, an n8n flow or any MCP-aware client at it.

Sample agent prompt:

Run Google Search Scraper on my input and return the structured results.

Agentic payments (x402): Supports agentic payment via x402 — call this actor with USDC, no API key required.

Google SERP Scraper · SERP Rank Tracker


A NexGenData utility actor.