Search results look like the easiest scraping target on the web — public pages, simple URLs, no login. Anyone who has actually tried it knows better: Google is one of the most aggressively defended sites in existence, blocking raw requests almost immediately, and its result markup shifts often enough that homegrown parsers become a permanent maintenance job. The Bright Data SERP API exists to make that whole problem disappear: you send a search query, and structured results come back from any country or city, in JSON or HTML, billed only when the request succeeds.
We've leaned on it for rank tracking and SERP research work, and this review covers what it does, how it fits into a real workflow, and when you'd pick it over Bright Data's other tools.
What It Is and the Problem It Solves
Scraping search engines at scale is really three problems stacked on top of each other:
- Getting unblocked. Search engines fingerprint and rate-limit scrapers ruthlessly. Sustained collection needs residential-grade IPs and constant evasion updates.
- Getting the right results. SERPs are personalized by location. A rank tracker that queries from one datacenter IP sees a SERP nobody's customer actually sees — you need results as a user in Denver or Berlin would see them.
- Parsing what comes back. Search result HTML is dense, obfuscated, and frequently restructured. Selector-based parsers rot fast.
The SERP API collapses all three into one request. Bright Data handles the proxies and unblocking, executes the query from the geography you specify, and returns clean, parsed results. Your code goes from "maintain a scraping pipeline" to "call an API and store JSON."
How It Works
Integration is deliberately familiar: the SERP API presents itself like a proxy endpoint, so you send a normal search URL through it using any HTTP client. Add the brd_json=1 parameter and instead of raw HTML you receive parsed JSON — organic results with ranks, titles, links, and snippets, plus ads, related_searches, people_also_ask, and pagination data. Drop the parameter and you get the raw HTML if you'd rather parse it yourself (we wouldn't — the JSON is the point).
Geo-targeting works through standard query parameters and zone configuration, with country, state, city, and ASN-level targeting available, so a rank-tracking job can fan out one keyword across dozens of locations and store each local SERP. Behind the scenes, requests route through Bright Data's unblocking infrastructure — the same engine that powers the Web Unlocker — so blocks, CAPTCHAs, and retries never surface in your code.
A request, end to end
The SERP zone is addressed like any Bright Data proxy: zone credentials in the username, the search URL as the target. A Google query for US results, parsed to JSON:
curl -x "http://brd-customer-<id>-zone-<serp_zone>:<password>@brd.superproxy.io:33335" -k \
"https://www.google.com/search?q=wireless+mouse&gl=us&hl=en&brd_json=1"
The same call in Python, which is what most rank trackers end up looking like:
import requests
proxy = "http://brd-customer-<id>-zone-<serp_zone>:<password>@brd.superproxy.io:33335"
params = {"q": "wireless mouse", "gl": "us", "hl": "en", "brd_json": "1"}
r = requests.get(
"https://www.google.com/search",
params=params,
proxies={"http": proxy, "https": proxy},
verify=False, # the SERP zone re-signs TLS; install Bright Data's CA cert to keep verification on
timeout=120,
)
data = r.json()
for item in data.get("organic", []):
print(item["rank"], item["title"], item["link"])
Two practical notes. The response arrives only once Bright Data has a successful result, so a hard query can take a while; set a generous client timeout and don't add your own retries on top. And standard Google parameters (gl, hl, num, start) work as they would in a browser, so paginating or switching language is a query-string change, not an API change.
For PHP, Node.js, and Rust versions of this flow, our Google Search scraping guide has ready-to-run samples against this API.
Key Features
- Structured output — parsed JSON (organic results, ads, related searches, people-also-ask, pagination) or raw HTML, your choice per request.
- Only pay for successful requests — blocked or failed queries cost nothing.
- Granular geo-targeting — country, state, city, and ASN level; view SERPs from any location on earth.
- All major search engines — not just Google.
- Every major search type — text, image, maps, hotels, shopping, and more.
- No artificial ceilings — zero bandwidth or target limits, unlimited concurrent sessions.
- 99.9% network uptime with 24/7 support on all plans.
When to Use It vs. Other Bright Data Tools
SERP API vs. Web Unlocker. The Web Unlocker unblocks any page and hands you its content; the SERP API is specialized for search engines and adds the parsing layer on top. If search results are your target, the SERP API saves you from ever touching SERP HTML. For every other protected site, the Unlocker is the right tool. Both bill per successful request.
SERP API vs. Scraping Browser. The Scraping Browser is for workflows that need real browser interaction — clicking, scrolling, JavaScript-heavy pages driven by Playwright or Puppeteer. Search scraping doesn't need any of that; a request/response API is simpler, faster, and cheaper to operate. There's no reason to drive a browser at a search engine when a purpose-built API exists.
SERP API vs. residential proxies. You can scrape search engines through raw residential proxies, and you'll own the parsing, the retries, and the block-evasion upkeep. That trade only makes sense if you need unusual control over request execution. For standard rank tracking and SERP monitoring, the managed API wins on total cost of ownership almost every time.
Bright Data SERP API Pricing
Bright Data doesn't headline a single sticker price for the SERP API; it follows the company's pay-as-you-go model with monthly and yearly plans discounting the base rate, and — critically — billing only for successful requests. That success-based structure is worth dwelling on for search specifically: search engines are exactly the kind of target where a naive setup burns significant spend on blocked attempts. Here, a failed query costs you nothing, which makes per-keyword tracking costs predictable in a way raw proxy bandwidth never is. As with everything Bright Data sells, this is priced for professional use; hobbyists tracking ten keywords will find lighter-weight options, as our full Bright Data review discusses.
SERP API vs Other Search Scraping Options
Bright Data isn't the only way to get structured search results. The alternatives we'd weigh it against:
-
Scrape.do Google Search endpoint. Parsed JSON for Google with ads, local packs and news as separate blocks, success-only billing and published pricing. In our own Google work it was faster, failed less often and returned ads more consistently than the SERP API, which is why it's our first pick for Google; Bright Data keeps the edge on other search engines and city- or ASN-level targeting. See Scrape.do vs Bright Data SERP API.
-
Oxylabs SERP Scraper API. The closest like-for-like competitor: a managed search scraper with parsed output and per-result billing, delivered through a POST-a-job API rather than a proxy-style endpoint. Pick it if your team already standardizes on Oxylabs' Web Scraper API; otherwise the two trade blows and the decision usually follows which platform you use for everything else. See Bright Data vs Oxylabs.
-
ScraperAPI structured Google endpoints. Parsed JSON for Google Search and Google Shopping from a simpler, credit-based service with a free monthly tier. Lighter on geo-targeting and search-type coverage, but the easiest and cheapest way to start if you're tracking a modest keyword set.
The DIY route — residential proxies plus your own parser — is covered under "SERP API vs. residential proxies" above, and in general it only wins when you need unusual control over how requests execute. For a broader map of the market, see our Bright Data alternatives round-up.
Who It's For
The SERP API is squarely aimed at SEO platforms, rank-tracking tools, and marketing teams monitoring keyword positions across geographies; ad-verification teams checking how ads appear in other markets and what competitors are running against which landing pages; and e-commerce and travel researchers pulling shopping, maps, or hotel results at scale. If your business logic starts with "for each keyword, in each city, get the results…" this product was built for you. If you just need occasional one-off searches, it's more machinery than you need.
Verdict
Search scraping is a solved problem — as long as you don't try to solve it yourself. The SERP API removes every operational headache of the hardest common scraping target: unblocking, localization, and parsing, behind one endpoint, billed only on success. For rank tracking, SERP monitoring, and search-based competitive research at scale, it's the clear pick within Bright Data's lineup.
Rating: 4.4/5 — Get started with the Bright Data SERP API →
See also our full Bright Data review.
FAQ
What does the Bright Data SERP API actually return?
Either raw HTML or — with the brd_json=1 parameter — parsed JSON containing organic results (rank, title, link, snippet) plus ads, related searches, people-also-ask boxes, and pagination. Our Google Search scraping guide shows the full request/response flow with working code.
Can I get search results from a specific city or country?
Yes — targeting goes down to the country, state, city, and ASN level, so you see the SERP exactly as a local searcher would. Since search results vary heavily by geography, this is what makes genuine local rank tracking possible.
Why not just scrape Google directly with proxies?
Because Google blocks raw requests almost immediately and restructures its markup often enough to break self-maintained parsers on a regular basis. You'd be signing up for a permanent unblocking-and-parsing maintenance job. The SERP API bundles all of it and bills only for successful requests; see how to avoid getting blocked for what the DIY route actually involves.
Which search engines and search types are supported?
All major search engines, across every major search type: standard text search plus image, maps, hotels, and shopping. That breadth covers rank tracking, ad verification, and vertical-specific research from one API.
Related Bright Data Products
Or head back to our full Bright Data review for the complete product lineup.