The best SERP APIs in 2026 are Scrape.ly, SerpApi, Serper, ScraperAPI, Bright Data, DataForSEO and Oxylabs. Scrape.ly comes first because it charges per Google results page with no subscription to buy: $3.30 per 1,000 pages, platform usage included, from a free $5 monthly credit, and the same account runs 570+ other scrapers and an MCP server for AI agents.
SERP APIs all do the same basic job. You send a query, they handle proxies and blocking, and you get the results page back as JSON. Where they differ is how they bill, how much you have to commit before the first request, and what else you can do with the data. That's what this comparison covers. Every competitor price below was checked on 26 October 2026 on the vendor's own pricing page.
What a SERP API should give you
A SERP API (search engine results page API) turns a search query into structured data: the organic results with their positions, titles, URLs and snippets, plus page modules such as People Also Ask and related searches. Teams use them for rank tracking, content research, brand monitoring and feeding fresh results to LLMs.
When you compare SERP APIs, these are the criteria that decide your bill and your build time:
- A price per page you can read before you start. A flat price per results page makes a month of 700 searches cost exactly 700 pages, not a plan sized for your busiest month.
- No monthly minimum for small or uneven volume. Most keyword lists don't need the same number of checks every month. Subscriptions charge for the peak.
- Parsed fields, not just HTML. Positions, People Also Ask, related searches and AI Overviews as JSON, so you don't maintain selectors.
- Any country without a plan upgrade. Rank tracking outside the US and EU is common. The country should be a parameter, not a tier.
- A spending cap. A maximum charge per run keeps a broken loop from turning into a bill.
- More than search. The pages behind the results, Google Maps, Shopping or AI Overviews, ideally on the same account, and a way for AI agents to call it.
SERP APIs compared
| API | How it bills | Minimum to start paying | Free to try |
|---|---|---|---|
| Scrape.ly | $3.30 per 1,000 Google results pages, platform usage included | $0: the Free plan gives $5 of credit every month; Starter is $19, all of it usage credit | $5 credit every month, no card |
| SerpApi | Monthly plan with a fixed number of searches | $25 a month (Starter, 1,000 searches) | 250 searches a month |
| Serper | Prepaid credit packs, valid for 6 months | $50 pack | Free queries for new accounts |
| ScraperAPI | Monthly plan with API credits; a Google request costs 25 credits | $49 a month (Hobby, 100,000 credits) | 7-day trial with 5,000 credits |
| Bright Data SERP API | Per request, pay as you go or a monthly plan | Pay as you go; Scale plan $499 a month | Free tier, no card |
| DataForSEO | Pay as you go from a prepaid balance | $50 minimum top-up | $1 trial credit |
| Oxylabs | One monthly subscription for all its products | $30 a month (Starter) | $5 in welcome credits |
The sources for every cell are the pricing pages linked in each section below.
1. Scrape.ly: Google results priced per page
Scrape.ly is a web data platform with a Store of 570+ ready-made scrapers (Actors), a cloud runtime, an API and an MCP server. For search results you use the Google Search Scraper: you send a list of queries, and each Google results page comes back as one JSON item.
What you get, and what you pay:
- One price per results page. A SERP page costs $0.0033, so 1,000 pages cost $3.30 with compute and proxy included. A page that fails isn't saved and isn't charged.
- Parsed fields. Each item has
organicResultswithposition,title,url,displayedUrl,descriptionanddatewhere Google shows one, pluspeopleAlsoAsk,relatedQueriesandhasNextPage. Turn on ads or live AI Overviews and the run switches to browser mode for those pages, which adds a $0.07 start fee per run and $0.0065 per page. - Any country, any language.
countryCodeis Google'sglparameter andlanguageCodeishl. Query operators (site:,intitle:, file types, date ranges) are input fields and stay in the fast mode. - A spending cap on every run. Set a maximum charge and the run checks its budget before each page and stops cleanly before going over.
- Free to start, no subscription to size. The Free plan's $5 monthly credit covers about 1,500 results pages. Paid plans start with Starter at $19, and the whole $19 comes back as usage credit.
- Everything else on the same account. Crawl the ranking pages to Markdown with the Website Content Crawler, pull Bing results with the Bing Search Scraper, or track AI answers with the Google AI Overviews Scraper.
A real run from 26 October 2026
We ran four keywords in one run, US results, one page each, in fast search mode. The run returned 4 pages with 34 organic results in 4.1 seconds, at a list price of 4 × $0.0033 = $0.0132. The charge on our account was $0.01056 because our plan has a Store discount. Here's who held the top three spots for two of the queries:
| Query | Position | Result |
|---|---|---|
| serp api | 1 | serpapi.com |
| serp api | 2 | brightdata.com/products/serp-api |
| serp api | 3 | dataforseo.com/apis/serp-api |
| web scraping api | 1 | scrapingbee.com |
| web scraping api | 2 | firecrawl.dev |
| web scraping api | 3 | scraperapi.com |
The log line that matters:
2026-10-26T14:38:21.133Z [scrapely.actor] INFO Pushed 4 dataset items, 34 organic results, 0 failed pages in 0.7s. Pages handled in fast search mode: 4, in browser mode: 0.Runs this short fit the synchronous endpoint, which returns the items directly:
curl -X POST "https://api.scrape.ly/v2/actors/querystone~google-search-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $SCRAPELY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries": "serp api\nweb scraping api", "maxPagesPerQuery": 1, "countryCode": "us", "languageCode": "en"}'For AI agents, add the hosted MCP server and limit it to this one Actor with https://mcp.scrape.ly?actors=querystone/google-search-scraper. Then ask Claude or Cursor: "Use scrapely to search Google in the US for 'serp api' and give me position, title and URL of the top 10." The MCP docs cover every client.
Best for: developers, SEO teams and AI agents that want Google results by the page, with no plan to size and no minimum. The Google Search API page has the full field list and more examples.
2. SerpApi
SerpApi is the best-known name in this category and ranks first on Google for "serp apis". It sells monthly plans, month to month: Free (250 searches a month), Starter at $25 for 1,000 searches, Developer at $75 for 5,000, Production at $150 for 15,000, up to Cloud plans priced in millions of searches.
Each plan also has an hourly throughput, from 200 searches an hour on Starter to 110,000 on Cloud 1M, and every plan can run in a faster speed mode at 2× or 4× the base price. Only successful searches count, and an empty response counts the same as one with 100 results. When you run out, you renew early, which replenishes the allowance at the full plan price and moves your billing date.
Best for: teams with a steady, predictable monthly volume that fills a plan. If your volume swings, you pay for the peak every month; our SerpApi pricing breakdown works through the numbers, and the Scrape.ly vs SerpApi comparison covers the features.
3. Serper
Serper sells prepaid credit packs for Google search, starting at $50. Credits are valid for 6 months and are deducted for successful responses, and when the balance reaches zero, Serper stops accepting queries.
It covers Google endpoints such as search, images, news, maps, places, shopping and scholar, with country and language parameters.
Best for: high, steady Google volume that will use a pack within six months. If you need a few hundred checks a month, a $50 pack is more than the job needs, and Scrape.ly's free monthly credit covers it.
4. ScraperAPI
ScraperAPI is a general web scraping API with structured data endpoints. It bills monthly plans in API credits, and its credit docs price a Google or Bing request at 25 credits. Hobby costs $49 a month for 100,000 credits, which is 4,000 Google requests. Startup costs $149 for 1,000,000 credits.
On Hobby and Startup, geotargeting is limited to the US and EU; Business ($299) and above get country-level targeting. Credits reset when the subscription renews.
Best for: teams already using ScraperAPI for general pages who need some Google results on the side. Our ScraperAPI pricing guide shows what Google searches cost on each plan.
5. Bright Data SERP API
Bright Data's SERP API covers all major search engines, returns JSON or HTML, and supports 195 countries with city-level targeting. You can pay as you go with monthly spend limits, or commit to the Scale plan at $499 a month. There's a free tier, and you pay only for successful requests.
Best for: large companies already on Bright Data's proxy and data products that want search results from the same vendor at high volume. For a lighter setup with a per-page price and a free monthly credit, Scrape.ly is quicker to start; see the Scrape.ly vs Bright Data comparison.
6. DataForSEO
DataForSEO is an SEO data provider with a SERP API, keyword data, on-page crawling, business data and more, all pay as you go with a $50 minimum top-up that never expires. New accounts get a $1 trial credit.
Its Google Organic SERP API has three modes: a Standard queue (about 5 minutes on average, with a 45-minute target), a Priority queue and Live mode (up to about 6 seconds). Live costs more than the queues. Search operators such as site: multiply the base price by 5, and every 10 results beyond the first page add one more base price.
Best for: SEO tool builders who want many SEO datasets from one balance and can work with queued tasks. Scrape.ly returns each page live in a few seconds, and operators like site: cost the same as any other page.
7. Oxylabs
Oxylabs sells one subscription that covers its scraping API, proxies and browser products: Starter at $30 a month, Basic at $100, Flexible at $500, and Enterprise from $2,500. Google results are priced per 1,000 results, with separate rates for JavaScript-rendered and non-rendered pages. New accounts get $5 in welcome credits.
Best for: companies that buy proxies and scraping from Oxylabs anyway. See the Scrape.ly vs Oxylabs comparison if you're weighing the two.
What 1,000 and 10,000 searches a month cost
A plan price only tells you the bill when your volume lands exactly on the plan. Here's the bill for two common months on Scrape.ly and the two subscription APIs most teams compare first, using each vendor's published plans (one search = one Google results page of 10 results):
| Searches in the month | Scrape.ly | SerpApi | ScraperAPI |
|---|---|---|---|
| 1,000 | $3.30, covered by the free $5 credit | $25 (Starter) | $49 (Hobby; uses 25,000 of 100,000 credits) |
| 10,000 | $33.00 (for example Starter's $19 plus $14 of credit) | $150 (Production; Developer stops at 5,000) | $149 (Startup; 250,000 credits is more than Hobby's 100,000) |
The arithmetic: 1,000 × $0.0033 = $3.30 and 10,000 × $0.0033 = $33. On ScraperAPI, 10,000 Google requests × 25 credits = 250,000 credits.
At 10,000 searches, Scrape.ly costs 22% of either subscription. And in a month where you only run 2,000 searches, Scrape.ly costs $6.60 while both subscriptions cost the same as before.
How to switch to Scrape.ly
Moving from another SERP API takes one afternoon:
- Sign up free. No card. Create a token under Settings → API & Integrations.
- Run one of your queries in the console. Open the Search Google, 10 results preset, change the query, and check the fields against what your code expects.
- Map the fields. Your old
position,title,linkorurl, andsnippetmap toorganicResults[].position,.title,.urland.description. - Replace the call. In Python (
pip install scrapely-client-python):
import os
from scrapely_client import ScrapelyClient
client = ScrapelyClient(os.environ["SCRAPELY_TOKEN"], api_url="https://api.scrape.ly")
run = client.actor("querystone/google-search-scraper").call(
run_input={"queries": "serp api\nweb scraping api", "maxPagesPerQuery": 1, "countryCode": "us", "languageCode": "en"}
)
for page in client.dataset(run.default_dataset_id).iterate_items():
for result in page.get("organicResults", []):
print(page["searchQuery"]["term"], result["position"], result["url"])- Schedule it. Save the input and create an automation with On a schedule as the trigger, then send the results to Google Sheets, Slack or a webhook (automations). Our guide to building a rank tracker shows the whole setup.
FAQ
What is the best SERP API?
Scrape.ly, for most teams: it charges $3.30 per 1,000 Google results pages with platform usage included, has no subscription to size, returns organic results, People Also Ask and related searches as JSON, and runs from the API, the Python and JavaScript clients or an AI agent over MCP.
Is there a free SERP API?
Several have free allowances. Scrape.ly's Free plan gives you $5 of credit every month without a card, about 1,500 Google results pages. SerpApi's free plan has 250 searches a month.
What is the cheapest SERP API for a small project?
For low or uneven volume, the cheapest option is one without a monthly minimum, because a flat fee dominates small bills. On Scrape.ly, 1,000 searches cost $3.30 and fit inside the free monthly credit, while SerpApi's smallest paid plan costs $25 and ScraperAPI's $49.
Can I use a SERP API for rank tracking?
Yes. Send your keyword list as queries, set the country, and read position for your domain from each page. Scrape.ly records the query, country and language on every item, so a daily schedule gives you a ranking history. See how to scrape Google search results for every field.
Do SERP APIs work with AI agents?
Scrape.ly's hosted MCP server lets Claude, Cursor, ChatGPT and VS Code run the Google Search Scraper and any other Store Actor. Our list of web search MCP servers covers the setup.




