Last updated: October 19, 2026. We ran String's search API on the same 58 questions twice on October 15, 2026, and compared both runs with an October 13 run. We hold no key for the other six APIs, so they are described from their own pricing pages and docs, re-checked October 19, and marked Not tested. String publishes this page and sells a Google search API, so read our picks with that in mind.
The best SerpApi alternatives in 2026 are String, Serper, SearchApi, DataForSEO, Bright Data and Scrapingdog. Each returns Google results as JSON for less than SerpApi's $15.00 per 1,000 searches on its $75 Developer plan. Serper and String cost $1.00 per 1,000. DataForSEO is cheapest for batches that can wait. String also returns the AI Overview in the same call and fetches the result pages on the same key. Our October 15 test adds one more buying fact: Google's results order changed on 50 of 56 queries between two calls 31 minutes apart.
no_cache. That is a cost saving and a freshness risk.The anchor is the plan nearest $100 a month billed monthly, by dollar distance. Where a vendor sells no monthly plan, the row uses its pay-as-you-go or top-up rate.
| API | Price per 1,000 at the anchor | Billing rule | AI Overview | Free tier | Tested Oct 15 |
|---|---|---|---|---|---|
| SerpApi | $15.00 (Developer, $75/mo for 5,000) | Successful searches only; cached searches free | Yes; some need a second request | 250 searches a month | Not tested |
| String | $1.00 (Growth, $100/mo fee plus usage) | Successful requests only, two stated exceptions | Yes, same call; the fill bills as 2 searches | 5,000 standard requests | Yes |
| Serper | $1.00 ($50 top-up for 50,000, valid 6 months) | Not stated on the pages we read | Not listed on its site | 2,500 queries | Not tested |
| SearchApi | $2.86 (Production, $100/mo for 35,000) | Only 200 responses billed | Yes, its own endpoint | 100 requests | Not tested |
| DataForSEO | $0.60 queued, $1.20 priority, $2.00 live | Per task set; AI Overview adds one base price | Yes, paid parameter | Not checked | Not tested |
| Bright Data | $1.50 (pay as you go) | Successful requests only | Yes, brd_ai_overview=2 |
5,000 requests a month | Not tested |
| Scrapingdog | $0.45 Light, $0.90 Advance (Standard, $90/mo) | Failed requests never charged | Yes, in the response | 100 credits | Not tested |
Prices come from each vendor's pricing page, checked on October 19, 2026. Each one links to its source in the sections below.
String fits a team that needs Google's results, the AI Overview and the pages behind the results on one key. One call returns the results page as JSON. A second call on the same key fetches any result URL.
Price is the first reason. SerpApi's Developer plan buys 5,000 searches for $75 a month, or $15.00 per 1,000 (SerpApi pricing). Serper and String charge $1.00 for the same 1,000.
In November 2024 a user on r/n8n wrote that the free tier's search cap was "quite challenging" and asked "if there might be a more affordable solution available" (thread). SerpApi's free plan now gives 250 searches a month.
Throughput caps come second. Each SerpApi plan has an hourly limit: the Developer plan allows 1,000 searches an hour. SearchApi caps use at 20% of a plan's credits per hour (SearchApi pricing). String has no concurrency cap and a 60-requests-a-second rate.
AI Overviews take extra work on SerpApi. When the overview is not in the first response, SerpApi returns a page_token that "expires within 1 minute", and you send a second request to its AI Overview API (SerpApi docs). String fills the overview in the same call when you set aiOverview: true.
Risk is the newest reason. A developer on r/WebScrapingInsider framed the 2026 choice as "which risk profile are you buying", and named "AI Mode changing what a SERP even is" and "the legal noise around scraped search output" (thread). In January 2026 SerpApi's general counsel wrote that Google had sued SerpApi in December 2025 (SerpApi blog).
The reasons in these threads are a lower price per search, fewer caps and a second vendor to fall back on. Parser quality rarely comes up.
We tested String only, because it is the only API on this page we hold a key for. We sent the same 58 buyer questions about web data to String's /v1/search three times:
Each call used engine google, country US, language en and aiOverview: true, four questions in parallel. We recorded every block String returned: the organic results with their positions and URLs, ads, People also ask, related searches, discussions and the AI Overview.
The October 15 runs answered 56 and 58 of 58. The two misses in the first run were 504 timeouts after about 97 seconds, both on questions about String itself; both answered in the second run. The comparisons below use the 56 questions both runs answered.
This test measures what Google showed and how much it moved. It does not measure SerpApi or the other five APIs, so we do not rank them on success or speed.
Between two calls 31 minutes apart, Google's organic results changed order on 50 of 56 questions. The top 3 stayed the same on 21. The #1 result changed on 16. On 47 questions at least one URL left the list, a median of 2 per question.
| What we compared | Questions | Identical | Changed |
|---|---|---|---|
| Organic URL order, two calls 31 min apart (Oct 15) | 56 | 6 | 50 |
| Organic URL set, same two calls | 56 | 9 | 47 |
| #1 result, same two calls | 56 | 40 | 16 |
| Domain order, Oct 13 vs Oct 15 | 56 | 2 | 54 |
| Domain set, Oct 13 vs Oct 15 | 56 | 6 | 50 |
Over two days the median question kept 60% of its domains, measured as shared domains over all domains either day returned.
Some of this movement comes from Google answering two requests differently, as well as from time passing. Google can serve two requests from different data centers and IP locations, and any SERP API sees the same effect. Our test cannot split the two causes. It shows what an API user gets back.
Why this matters when you pick a SerpApi alternative:
no_cache: true (SerpApi docs). For a dashboard that is fine. For a rank check, one hour is long enough for the order to move.Want to see how much your own queries move? Run them twice through /v1/search with a free key and compare.
On 55 of the 56 questions String answered on October 15, Google showed fewer than 10 organic results. The median page had 8. The rest of the page went to other blocks.
| Block on the page | Pages with it (of 56) |
|---|---|
| AI Overview | 54 |
| Related searches | 51 |
| People also ask | 49 |
| Discussions and forums | 24 |
| Ads | 1 |
48 of the 56 pages carried three or more of these blocks. One carried only organic results. Our 58 questions are about web data and APIs, so few carry ads; a shopping query would look different.
What this means for an API choice: an API that returns only organic links misses most of what a person sees. Check that the alternative parses the AI Overview, People also ask and discussions, and check what each one costs. DataForSEO adds one base price for the AI Overview (DataForSEO pricing), and String bills the fill as two searches.
String answered 56 of 58 Google searches in the first October 15 run and 58 of 58 in the second. It filled the AI Overview on 54 of the 56 in the first run.
engine: "google_ai_mode" returns Google AI Mode's answer and cited pages (search docs).Serper sells 50,000 Google searches for $50, or $1.00 per 1,000, with credits valid for 6 months (Serper). Not tested.
SearchApi's Production plan costs $100 a month for 35,000 searches, about $2.86 per 1,000 (SearchApi pricing). The page rounds it to $3. Not tested.
DataForSEO charges $0.60 per 1,000 results pages in its Standard queue, $1.20 in Priority and $2.00 in Live mode (DataForSEO pricing). Not tested.
Bright Data's SERP API costs $1.50 per 1,000 requests pay as you go, and $499 a month for 380,000 on Scale (Bright Data pricing). Not tested.
brd_ai_overview=2 raises the chance of an AI Overview.Scrapingdog's Standard plan costs $90 a month for 1,000,000 credits; a Google search costs 5 credits on the Light API and 10 on Advance (Scrapingdog pricing). Not tested.
These numbers are not like for like. Units differ: searches, credits, results pages, requests. Some vendors charge extra for the AI Overview, a search operator or a deeper page. Some credits expire. Some plans cap use per hour. Read the billing rule beside each price before you compare.
String is the most reliable web scraping API, bypassing anti-bot, and you only pay when content comes back.
aiOverview: true; on October 15 String filled it on 54 of 56 answered questions.engine: "google_ai_mode" returns the generated answer with its cited pages./v1/fetch on the same bill, so a SERP API and a scraping API become one contract.String fits when your product needs what Google shows, including the AI Overview and AI Mode, and then needs the pages behind the results. It also fits a team that pays one vendor for SERP data and another for scraping and wants one key.
Match the tool to the job.
Stay on SerpApi when you need its Google product endpoints (Flights, Hotels, Scholar, Jobs, Play Store) or its U.S. Legal Shield, and $15.00 per 1,000 fits your volume.
To scrape Google yourself instead of buying an API, our Google search scraping guide shows the code and where it breaks. For search APIs with their own index, such as Perplexity, Exa and Brave, see the best web search APIs.
Both calls ran on October 19, 2026. The SerpApi call follows its Google Search API docs. Without a key, SerpApi answers only its demo query, so we ran this exact code on q="coffee" and it printed the top five results. Your own queries need a SerpApi key.
SerpApi, Python:
import os, requests
resp = requests.get(
"https://serpapi.com/search",
params={"engine": "google", "q": "serpapi alternatives", "gl": "us", "hl": "en",
"api_key": os.environ["SERPAPI_API_KEY"]},
timeout=60,
)
resp.raise_for_status()
for r in resp.json().get("organic_results", [])[:5]:
print(r["position"], r["title"], r["link"])
String, Python:
import os, requests
resp = requests.post(
"https://request.usestring.ai/v1/search",
headers={"Authorization": f"Bearer {os.environ['STRING_API_KEY']}"},
json={"query": "serpapi alternatives", "engine": "google", "country": "US",
"language": "en", "aiOverview": True},
timeout=60,
)
resp.raise_for_status()
data = resp.json()
for r in data["results"][:5]:
print(r["position"], r["title"], r.get("url"))
overview = (data.get("overviews") or [{}])[0]
print(overview.get("text", "")[:200])
Three changes move a script across: the endpoint, q becomes query, and organic_results[].link becomes results[].url. The String response also carries the AI Overview, so no second request is needed. Run it with a free key from portal.usestring.ai.
String, Serper, SearchApi, DataForSEO, Bright Data and Scrapingdog. String and Serper cost $1.00 per 1,000 searches against SerpApi's $15.00 on Developer. String also returns the AI Overview in the same call. DataForSEO is cheapest for batches that can wait.
No. At the plan nearest $100 a month, SerpApi costs $15.00 per 1,000 searches. Scrapingdog costs $0.45 on its Light API, DataForSEO $0.60 in its Standard queue, and String and Serper $1.00. Units and extra charges differ, so compare the billing rules too.
They are close on features: both cover many engines and offer AI Overview and AI Mode endpoints. SearchApi costs about $2.86 per 1,000 on its $100 plan against SerpApi's $15.00 on its $75 plan. SearchApi caps use at 20% of plan credits per hour; SerpApi caps searches per hour by plan.
Every API here has a free tier. Bright Data gives 5,000 requests a month, Serper 2,500 queries, SerpApi itself 250 searches a month, SearchApi 100 requests and Scrapingdog 100 credits. String's first 5,000 standard requests are free with no card.
SearXNG is an open-source metasearch engine you host yourself (SearXNG on GitHub). It sends your query to other engines and merges the results. You run the servers and handle blocks yourself. One developer who tried a do-it-yourself Google scraper reported "captchas within like 20 requests" (r/scrapingtheweb).
SerpApi, LLC sells its API openly and lists a "U.S. Legal Shield" on every plan. In January 2026 its general counsel wrote that Google sued SerpApi in December 2025, and that SerpApi disputes the claims (SerpApi blog). We have not checked the current status of the case. For the general law on scraping public pages, see is web scraping legal.
A SERP API like SerpApi parses Google's results page into JSON for you. A general scraping API returns the page, and you parse it. If you only need Google results, a SERP API is less work. If you also need the pages behind the results, String sells both on one key.
In our October 15, 2026 test, Google's organic results changed order on 50 of 56 questions between two calls 31 minutes apart. Between October 13 and October 15, the order of domains changed on 54 of 56 questions.