Serper API Pricing Explained: Four Packs, Expiry and Real Cost per 1,000
Serper's four packs kept the same price since 2022, but in 2023 its credits started to expire after 6 months. We model five usage shapes for the real cost.

Serper's four packs have kept the same price since November 2022: $50, $375, $1,250 and $3,750, or $1.00 down to $0.30 per 1,000 queries. The validity changed instead. In 21 web archive snapshots, the page from May 31, 2023 still says "Credits do not expire", and the page from July 11, 2023 says "Credits valid for 6 months". We modeled five common usage shapes over 24 months.
The safest way to buy is "buy one $50 pack when the balance runs out", which costs about $1.04 per 1,000 queries actually used. That is 1.5 times the $0.694 that we measured for EveryInfra web search on November 3, 2026. Above 1.8 million searches in six months (about 300,000 a month), Serper's $1,250 and $3,750 packs cost less than EveryInfra. At the top, they cost 0.43 times our price.
What each of our three Serper articles answers
This is our third article about Serper. The first one is Serper API alternative: price per 1,000, free tier and expiry tests, from October 26, 2026. It compares the paid price per 1,000 queries. It uses a simple rule: monthly volume is flat, and you buy six months of credits at one time. The second one is Serper free tier and free alternatives, from November 1, 2026.
It asks how long 2,500 free queries last and what you pay in year one. This article answers the decision that people make when they search "serper api pricing". Which pack should I buy for my real usage? When should I move up a pack? When is pay per request the better deal?
This article adds three things to the first two. The first is history. We read the serper.dev home page in public web archive snapshots from 2022 to 2026. We found the date when each line of the pricing box changed. The second is the way you buy.
Our October article assumed that you buy six months of credits at one time. Many real users buy a new pack only when the balance runs out, and the result is different. The third is the shape of usage. Real usage is rarely flat, so we modeled growth, a holiday peak, a one-off project and slow churn.
On the Serper side, we used only public pages. We did not open an account, buy credits or use a Serper key. On the EveryInfra side, every number comes from real API responses on November 3, 2026.

Serper API pricing at a glance, next to our measured prices
This table has two kinds of numbers only. The Serper numbers come from the serper.dev pricing box, which we read and saved at 00:15 Singapore time on November 3, 2026. The EveryInfra numbers come from real calls on the same day, and charged_usd is the amount that each response says we paid. All prices are before tax.
| Item | Starter | Standard | Scale | Ultimate | EveryInfra `web` | EveryInfra `web/search` |
|---|---|---|---|---|---|---|
| You pay at one time | $50 | $375 | $1,250 | $3,750 | $10 minimum top-up | $10 minimum top-up |
| Queries you get | 50,000 | 500,000 | 2,500,000 | 12,500,000 | Pay per call | Pay per call |
| Per 1,000 | $1.00 | $0.75 | $0.50 | $0.30 | $0.694 (measured) | $1.389 (measured) |
Against EveryInfra web | 1.44 times | 1.08 times | 0.72 times | 0.43 times | — | 2 times |
| Validity | 6 months | 6 months | 6 months | 6 months | No expiry | No expiry |
| Rate limit | 50 per second | 100 per second | 200 per second | 300 per second | 60 per minute by default | Same |
| Tax | Extra | Extra | Extra | Extra | List price | List price |
| Refund | First purchase, within 7 days, under 20% used | Same | Same | Same | No charge for failures or empty results | Same |
Two cells need a note. First, EveryInfra has two ways to run a web search. The web tool in the search product costs $0.000694 per call. The web/search capability in the data catalog costs $0.001389, 2 times the web price, and adds a language filter. On price alone, web/search costs more than Serper Starter, so this article uses web for all comparisons.
Second, the rate limits are very different. Serper's smallest pack allows 50 queries per second. Our default is 60 per minute, and a paid speed pack goes up to 1,800 per minute (pricing page). If your job sends hundreds of requests in one second, Serper is the better fit.
The pricing box, line by line: price, rate, validity, tax and refunds
The title of the Serper pricing box is "Simple, Affordable Pricing". The subtitle says "No monthly subscriptions; simply pay for the credits you need". So there is no plan to cancel, and you buy credits before you use them. Each of the four cards has the same lines.
It shows the price, the credits and the price per 1,000, "Submit N queries", the queries per second, "Real-time results" and "Customize query location". The last line is "Credits valid for 6 months". A note under the cards says "Excluding sales tax/VAT/GST" (serper.dev, read November 3, 2026).

The FAQ has three rules about money. The first rule is when Serper deducts credits. It deducts credits each time you "receive successful responses to queries", and it stops new queries when the balance is zero. The second rule is refunds. You get a full refund within 7 days of your first purchase if you used no more than 20% of the credits.
The Refund Policy in the Terms of Service gives the same two conditions. The terms page shows an update date of May 29, 2024. The third rule is payment: Visa, Mastercard, American Express, Discover and PayPal. The rate limit answer says that Ultimate allows 300 queries per second by default, or about 15,000 to 18,000 searches per minute. Serper also says that it can raise the limit on request.
Together, these rules make "price per 1,000" a result of three variables, not one fixed number. The first variable is the pack that you buy. The second variable is whether you use the credits within six months. The third variable is tax at checkout. The card shows the first variable only. Your usage sets the second, and your location and business status set the third.
Take the UK as an example. GOV.UK says that a UK business that buys services from abroad uses the "reverse charge". The business accounts for the VAT itself (GOV.UK). In Singapore, a buyer without GST registration pays 9% GST on remote services from abroad (IRAS, October 9, 2026/consumers/purchasing-remote-services-from-overseas-service-providers)). Registered businesses in Singapore also use a reverse charge (IRAS guidance for local businesses/gst-and-digital-economy/local-businesses)).
We did not buy from Serper, so we cannot say if Serper adds tax at checkout. If 20% is added, Starter costs $1.20 per 1,000. If 9% is added, it costs $1.09. This is arithmetic only, not tax advice.
| Pack | List price per 1,000 | With 20% (UK standard VAT rate) | With 9% (Singapore GST rate) | Refund limit within 7 days (20% used) |
|---|---|---|---|---|
| Starter | $1.00 | $1.20 | $1.09 | 10,000 queries |
| Standard | $0.75 | $0.90 | $0.8175 | 100,000 queries |
| Scale | $0.50 | $0.60 | $0.545 | 500,000 queries |
| Ultimate | $0.30 | $0.36 | $0.327 | 2,500,000 queries |
The refund column deserves a second look. The terms say "first payment", so the refund applies to your first purchase only. If your first purchase is Standard, you can use up to 100,000 queries in 7 days and still get all your money back. That gives your first large order a seven-day test window. You can test latency, result counts and charges with real traffic before you decide to keep the pack. Later purchases do not get this window.
The prices did not change in four years; the validity did
Many third-party articles about Serper pricing say "credits expire after 6 months". None of the articles that we read say when this rule started. We used the public CDX index of the web archive to list 184 different snapshots of the serper.dev home page. The index format is described in the Wayback CDX server README and on the Internet Archive developer page.
The snapshots run from November 3, 2022 to October 10, 2026. We took 21 snapshots across that period and read them with one script. The script extracted the four prices, the validity line and the free-queries line.

The result is very clear. All 21 snapshots show $50, $375, $1,250 and $3,750, with the same credits and the same queries per second. Two lines changed. The 8 snapshots from November 3, 2022 to May 31, 2023 say "Credits do not expire" on each card, and the first screen says "Try 1,000 queries for free". The 13 snapshots from July 11, 2023 onward say "Credits valid for 6 months", and the free offer is 2,500 queries. In the same period, the "Join the …+ companies and developers" line grew from 15,000 in July 2023 to 1,000,000 on October 10, 2026.
Why does this matter for cost? The list price did not change. But a buyer before June 2023 got credits that did not expire, and a buyer after July 2023 gets credits that expire in six months. For a small user, the real cost went up, because expired credits are part of what you pay for.
This is why our earlier articles say "look at the real price, not the list price". We can see that the page changed. We cannot see why Serper changed it, or what happened to old credits. The page does not say.
How long other prepaid credits last
Next to the wider prepaid market, six months is short. OpenAI says that purchased credits expire after one year and that it cannot extend the date (OpenAI Help Center). Anthropic says that credits expire one year after purchase, with no extension, and that failed requests are free (Claude Help Center).
| Prepaid credit | Validity | Source |
|---|---|---|
| Serper search credits | 6 months | serper.dev home page, read November 3, 2026 |
| Serper search credits (before May 2023) | No expiry | Web archive snapshots, November 3, 2022 to May 31, 2023 |
| OpenAI API credits | 1 year, no extension | OpenAI Help Center |
| Anthropic API credits | 1 year, no extension, no refund | Claude Help Center |
| EveryInfra wallet balance | No expiry | everyinfra.com/pricing |
What one credit buys: requests, results and the num parameter
The Serper card says "Submit 50,000 queries", so one credit is one query. Third-party articles agree on one detail. Up to 10 results cost 1 credit, and 11 to 100 cost 2 (ColdIQ, July 2026). A user says the same in this Hacker News thread.
The Serper home page does not state this rule. We have no account and cannot check it. So this article labels it "third-party report" and keeps it apart from the pricing box.
Will your code meet this rule? That depends on the default result count of your framework. In the LangChain community wrapper for Serper, k defaults to 10 and goes out as num (source code). In CrewAI, SerperDevTool has n_results with a default of 10, and it also goes into num (source code; docs).
Haystack's SerperDevWebSearch uses top_k for the count (docs), and the default in its source code is also 10 (source). So the defaults stay inside 1 credit. If a developer changes k or n_results to 20 "to get more results", the bill can double, if the third-party report is correct.
The search engine also limits how many results one page can give. In September 2025, Google said that it does not support the URL parameter for 100 results per page (Search Engine Land, September 18, 2025). Google's own Custom Search JSON API limits num to 1 through 10. So if you pay 2 credits for "100 results", you must test how many rows you really get. Use your free queries for that test.
On EveryInfra, the rules are in the public search tool catalog. For web, num is 10 at most. A larger value returns 10 rows and does not cause an error. For more rows, you use page, and each page is one charge.
The catalog shows units: 1 and price_usd: 0.000694 for each tool. The web/search capability in the data catalog now shows max_limit: 10, and a larger limit returns 10 (read at 00:16 Singapore time on November 3, 2026). On November 1, we reported that the catalog said 100 while calls returned 10. The catalog now matches the behavior.
| Price per 1,000 results | Rows per call | Per 1,000 results | Basis |
|---|---|---|---|
| Serper Starter, num up to 10 | 10 | $0.10 | Pricing box, full page of 10 |
| Serper Starter, num 11 to 100 (third-party report: 2 credits) | If still 10 | $0.20 | Third-party report, not checked |
EveryInfra web, full page | 10 | $0.0694 | Catalog price |
EveryInfra web, our average in this test | 9.55 | $0.0727 | 44 charged requests |
EveryInfra shopping (product results) | 40 | $0.0174 | One test call |
EveryInfra places (place results) | 20 | $0.0347 | One test call |
Upgrade points: buy one more small pack or move up a pack?
Many people see $0.30 on the Serper page and want the large pack. But a large pack is cheap only if you use it within six months. This section answers two questions for a known six-month volume. What is the cheapest way to buy it?
At what volume should you move up a pack? Our script tried every mix of the four packs, including several of the same pack. For each volume from 1,000 to 13 million, in steps of 1,000, it found the mix with enough credits at the lowest price. The script reads the four prices from the saved page text.
| Six-month volume | About per month | Cheapest mix | Cost | Extra over the row above | Share that expires |
|---|---|---|---|---|---|
| 350,000 | 58,333 | 7 Starter | $350 | — | 0% |
| 351,000 | 58,500 | 1 Standard | $375 | $25 | 29.8% |
| 1,600,000 | 266,667 | 3 Standard + 2 Starter | $1,225 | — | 0% |
| 1,601,000 | 266,833 | 1 Scale | $1,250 | $25 | 36.0% |
| 7,500,000 | 1,250,000 | 3 Scale | $3,750 | — | 0% |
| 7,501,000 | 1,250,167 | 1 Ultimate | $3,750 | $0 | 40.0% |
The table gives two results. First, the upgrade point is much lower than "use the whole large pack". Above 350,000 queries in six months, one $375 Standard pack costs less than eight $50 Starter packs, even if almost 30% of it expires. In the same way, above 1.6 million in six months you should buy Scale, even if 36% expires. Second, at 7.5 million, Ultimate and three Scale packs cost the same $3,750. Ultimate gives 5 million more credits and 300 instead of 200 queries per second, so choose Ultimate near this volume.
The crossing point with EveryInfra is 1.802 million queries per six months, or about 300,000 a month. Below that volume, every Serper mix costs more than $0.000694 per call. Above it, the Scale and Ultimate mixes cost less and stay cheaper. At 12.5 million per six months, Serper costs $0.30 per 1,000, which is 0.43 times our price.
This agrees with the "about 300,000 a month" in our October 26 article. That article gave a few volumes. This chart gives the full step line.
Usage by pack: one pack type, flat use for six months
The next table shows the simplest case. Your monthly volume is flat, you buy once every six months, and you buy only one pack type. It shows the real price per 1,000 queries for each pack. The last Serper column shows the cheapest mix of any packs, so you can compare it with the EveryInfra price of $0.694.
| Per month | Starter only | Standard only | Scale only | Ultimate only | Cheapest mix | EveryInfra `web` |
|---|---|---|---|---|---|---|
| 1,000 | $8.33 | $62.50 | $208.33 | $625.00 | $8.33 | $0.694 |
| 5,000 | $1.67 | $12.50 | $41.67 | $125.00 | $1.67 | $0.694 |
| 10,000 | $1.67 | $6.25 | $20.83 | $62.50 | $1.67 | $0.694 |
| 25,000 | $1.00 | $2.50 | $8.33 | $25.00 | $1.00 | $0.694 |
| 50,000 | $1.00 | $1.25 | $4.17 | $12.50 | $1.00 | $0.694 |
| 100,000 | $1.00 | $1.25 | $2.08 | $6.25 | $0.79 | $0.694 |
| 250,000 | $1.00 | $0.75 | $0.83 | $2.50 | $0.75 | $0.694 |
| 500,000 | $1.00 | $0.75 | $0.83 | $1.25 | $0.54 | $0.694 |
| 1,000,000 | $1.00 | $0.75 | $0.63 | $0.63 | $0.54 | $0.694 |
| 2,500,000 | $1.00 | $0.75 | $0.50 | $0.50 | $0.33 | $0.694 |
The top rows are the easiest to misread. A small project with 1,000 queries a month pays $8.33 per 1,000 with Starter, more than 8 times the list price. In six months it uses 6,000 queries, and 44,000 expire. The bottom rows show where Serper is strong. At 500,000 queries a month or more, the cheapest mix costs less than EveryInfra. In the middle band, from 25,000 to 250,000 a month, Serper costs $0.75 to $1.00, which is 8% to 44% more than our price.
Real usage is not a flat line: five usage shapes, month by month
The table above assumes flat monthly volume and one purchase every six months. Most real users do not work like that. So we made 24 months of volume for five common shapes and modeled three ways to buy, month by month. Each pack is valid for six months from the month of purchase. Each month uses the credits that expire first. You buy only when the balance is too low for that month.
The three ways to buy are these. "Small pack when empty" buys as many $50 packs as the month needs. "Six-month forecast" takes the real volume of the next six months, which means a perfect forecast. It subtracts the valid balance and buys the cheapest mix. "Always buy Standard" buys one $375 pack each time the balance is too low. For EveryInfra, the cost is total volume times $0.000694, and the balance does not expire.
| Usage shape (24 months) | Total | Small pack when empty | Six-month forecast | Always buy Standard | EveryInfra |
|---|---|---|---|---|---|
| Flat: 20,000 a month | 480,000 | $500, $1.042 per 1,000, 0% expired | $600, $1.25, 20% expired | $1,500, $3.125, 76% expired | $333.12, $0.694 |
| Growth: 2,000 a month, +25% each month | 1,686,065 | $1,750, $1.038, 1.6% expired | $1,500, $0.89, 3.7% expired | $2,250, $1.334, 35.5% expired | $1,170.13, $0.694 |
| Holiday peak: 8,000 a month, 80,000 in November and December | 480,000 | $500, $1.042, 0.8% expired | $500, $1.042, 4% expired | $1,500, $3.125, 76% expired | $333.12, $0.694 |
| One-off project: 150,000 a month for 3 months, then 3,000 a month | 513,000 | $650, $1.267, 14.8% expired | $525, $1.023, 21.1% expired | $1,500, $2.924, 74.4% expired | $356.02, $0.694 |
| Churn: 120,000 a month, -15% each month | 783,814 | $850, $1.084, 2.2% expired | $725, $0.925, 7.8% expired | $1,500, $1.914, 60.8% expired | $543.97, $0.694 |
The model gives three results that go against intuition. First, for flat usage, "small pack when empty" costs less than "buy six months at one time". At 20,000 a month, one $50 pack lasts 2.5 months and never expires. So the real price is close to $1.00.
The $1.042 in the table comes from 20,000 queries that are still valid at the end of month 24, which we count as cost. If you buy six months at one time, you buy three packs, use 120,000 queries and lose 30,000, so you pay $1.25. Our October 26 article used the second method and showed $1.25. That number is too high for people who buy when the balance runs out, and we correct it here.
Second, for growth and churn, "six-month forecast" costs less, because it can buy Standard in the high months. But that method needs a perfect forecast. In the growth case, volume reaches 338,813 a month in month 24. The forecast buyer gets Standard and Scale packs late in the period and pays $0.89, which is still 1.28 times our price.
Third, "always buy Standard" costs the most in all five shapes, with 36% to 76% expired. You buy a large pack to move from $1.00 to $0.75 per 1,000. That only works above 350,000 queries in six months. When usage does not keep up, you pay 1.8 to 4.2 times the $0.75 list price of Standard.
The model has some assumptions. We assume that Serper uses the credits that expire first, but the page does not state the order. We assume that you buy only when the month needs it and never stock up. Credits that are still valid at the end of month 24 count as cost but not as expired.
We did not add tax or use the 7-day refund window. We set the five usage shapes ourselves, and they do not come from any customer's data. You can put your own monthly volume into the same rules. The "six-month forecast" column is the most likely to change, because it depends most on how good your forecast is.
Three real jobs: AI assistant, rank tracking, one-off batch
The model above uses abstract shapes. This section uses three common jobs and gives a monthly bill for each. We set the volumes from typical setups. For Serper, we take the lower of "small pack when empty" and the cheapest mix. For EveryInfra, we use web at $0.000694 per call.
The first job is web search for an AI assistant. It has 300 chats a day, and the model searches twice per chat. That is about 18,000 searches a month. One $50 pack lasts 2.8 months at this volume and never expires.
So "small pack when empty" pays the list price of $1.00, or $18 a month. If you buy three packs every six months, you pay $25 a month. EveryInfra costs $12.49 a month. This is the best case for the Serper prepaid model: steady, medium volume, and only the top 10 results.
The second job is SEO rank tracking. You track 500 keywords and check the top 30 once a week. On EveryInfra, that is 3 pages per keyword, or about 6,500 calls a month for $4.51. On Serper, the third-party report says that 30 results cost 2 credits, so you use about 4,330 credits a month. A $50 pack would last 11.5 months, but it expires in 6.
So you buy one pack every six months and pay $8.33 a month, and about 24,000 of the 50,000 credits expire. If you need only the top 10, Serper still costs $8.33 a month, and about 37,000 credits expire. EveryInfra costs $1.50 a month for that job. Low-frequency tracking is the worst case for prepaid credits. The validity is shorter than the time that you need to use one pack.
The third job is a one-off batch. You run 1.2 million searches in one week for a market scan, and then you stop. The cheapest Serper mix is 2 Standard and 4 Starter packs, $950 in total, or $0.79 per 1,000. EveryInfra costs $832.80. Here, speed matters more than price.
At our default of 60 per minute, the job takes 333 hours. With a speed pack of 1,800 per minute ($78 for 30 days), it takes 11.1 hours, and the total is $910.80, only $39 less than Serper. Serper's smallest pack runs at 50 per second and finishes in 6.7 hours. For a short, large batch, Serper's rate limit is a real advantage.
| Job | Monthly volume | Serper real cost per month | EveryInfra per month | Lower cost |
|---|---|---|---|---|
| AI assistant search, 600 a day | 18,000 | $18 (when empty) / $25 (six months at once) | $12.49 | EveryInfra |
| Rank tracking, 500 keywords, top 30 weekly | 6,500 calls (us) / about 4,330 credits (Serper, third-party report) | $8.33 | $4.51 | EveryInfra |
| Rank tracking, 500 keywords, top 10 weekly | About 2,167 | $8.33 | $1.50 | EveryInfra |
| One-off batch, 1.2 million | One time | $950, done in 6.7 hours | $832.80 (333 hours) or $910.80 with speed pack (11.1 hours) | Close on price; Serper is much faster |
How EveryInfra prices search: catalog price, real charge, no expiry
EveryInfra charges per search call. The price is in the public search tool catalog, and you do not need to log in to read it. The billing.tiers field has three tiers. The standard tier is $0.000694 per call, or $0.694 per 1,000. All 17 search tools except cross-check use this tier.
The deep tier is $0.001389 for the deep mode of semantic search. Cross-check costs $0.002778, because it runs several searches in parallel. Top-ups start at $10, with steps of $10, $50, $100, $500 and $1,000. The wallet balance does not reset or expire (pricing page). The search product page shows the same price.
Here is a request. The key comes from an environment variable and is never written to a file.
curl -s https://api.everyinfra.com/api/v1/search \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tool":"web","params":{"q":"serp api pricing comparison","num":100}}'
Each charged response has a billing object with charged and charged_usd. It also has amount.per_1k, which shows the price per 1,000. In this article, all 44 charged web requests show charged_usd 0.000694. Times 1,000, that is $0.694 per 1,000, the same as the catalog. Both web/search calls show 0.001389.
A fixed price per call lets you know the total before you run. Ten keywords cost $0.00694. At 20,000 a month, you pay $13.88 a month, or $166.56 a year. You do not need to choose a pack or watch an expiry date.
Test 1: pages and num, 10 rows per page and one charge per page
The first test ran from 00:19 to 00:20 Singapore time on November 3, 2026, with the query "serp api pricing comparison". Pages 1, 2 and 3 each returned 10 rows, 30 rows in total, with 28 different URLs. Page 2 shared one URL with page 1 and one with page 3. With num set to 100, we got the same 10 URLs as page 1, and the charge was one call of $0.000694.
With the data catalog's web/search and limit set to 100, we got 10 rows for $0.001389. Six of those 10 URLs were also on page 1 of web. So the two routes do not return the same list.
So 30 results on EveryInfra cost 3 calls, or $0.002082, which is $0.0694 per 1,000 results. On Serper, if the third-party "11 to 100 results cost 2 credits" report is true, one num=30 call on Starter costs $0.002. That is almost the same as our 3 pages, if Serper really returns 30 rows in one call. So for deep results, the gap is much smaller than "per 1,000 requests" suggests. The real gap is in top-10 use: $0.001 on Starter against our $0.000694.
Test 2: one rank check of 20 keywords, cost and speed
The second test is a very common job: check page 1 for 20 keywords and see where your site ranks. We ran it from 00:22 to 00:27 Singapore time with 20 keywords, from "serp api" to "noise cancelling headphones", and location set to the US. We waited 6.5 seconds between calls. Our test key has a low rate limit. One call got a 429, and we sent it again after 60 seconds.
All 20 calls returned 200, with 190 rows in total, or 9.5 per call. Six calls returned fewer than 10 rows: 7, 8, 8, 9, 9 and 9. The total charge was $0.01388. The median time was 1.95 seconds, and the slowest was 2.99 seconds. We measured with curl from request to full response, sent from Singapore.
If you check these 20 keywords once a day, you make 600 calls a month, which costs $0.42 on EveryInfra. On Serper, one $50 pack would last 83 months, but it expires after 6. So the real price is $50 / 3,600 calls, or $13.89 per 1,000. Low-volume tracking is where the prepaid model costs the most.
Speed is not the main subject here. But every pricing card shows queries per second, so we note it. Serper's home page says that results usually return in 1 to 2 seconds, and some take 2 to 4 seconds. We did not test Serper, so we give only our own numbers. If users wait for each answer, every second counts. Test your own keywords on both free offers before you decide.
Test 3: the same keywords half an hour later, how much changed
The third test repeated test 2. From 00:55 to 00:58 Singapore time, we ran the same 20 keywords with the same parameters. We measured how many of the top 10 URLs stayed the same for each keyword. This number matters for price for a specific reason.
Since September 2026, several rank-tracking companies have said that Google returns pages that look normal but have swapped results to automated requests. Nozzle's study says that 88.1% of sites normally stay from one check to the next. On a swapped page, only 22.3% stay (Nozzle, published October 10, updated October 21, 2026). If you cannot trust one result and you must fetch it again, the real cost per 1,000 goes up.
Across the 20 pairs, an average of 87.5% of the top 10 URLs stayed the same, and the lowest pair was 30%. For 18 of the 20 keywords, 80% or more of the URLs stayed, and 6 keywords kept all 10. The lowest was "iphone 18 release date", with 3 of 10 the same. That query follows the news, so its results can change in half an hour. The next lowest was "google search api" at 78%.
The average of 87.5% is close to the normal 88.1% in the Nozzle study, and this small sample shows no sign of many swapped pages. We ran only two rounds of 20 keywords. This small sample says nothing about long-term stability, and it does not compare with Nozzle's large sample. It shows one thing.
If you track rankings, compare each result with the recent history of that keyword. Then decide if you must fetch it again. SEOmonitor says that about 8% of its results each day are incomplete or wrong and are fetched again (SEOmonitor help center). At that rate, you pay about 8% more per 1,000, with any provider.
Test 4: empty results, bad parameters, no key and service errors
The Serper FAQ says that credits are deducted for "successful responses". The page does not say if an empty result or a wrong parameter counts as successful. We tested each case on EveryInfra. At 00:20:16, a query for a word that does not exist returned 200 with no results.
The charged_usd was 0, the reason was empty_result_refunded, and the refund status was succeeded. At 00:22:20, we sent Serper's parameter name gl to web. We got 422 with a list of the 7 supported parameters and the text "Nothing was charged". At 00:22:27, a call with no key returned 401, also with no charge.
At 00:29:28 and 00:29:39, two calls to the data catalog's bing/search returned 503. The reason was request_failed_refunded, charged_usd was 0, and the response said to try again after 20 seconds. We also got 2 429 responses because our test key has a low rate limit. Neither was charged.
| Case | Time (Singapore) | Status | Charge | What the response says |
|---|---|---|---|---|
| Empty result | 00:20:16 | 200 | $0 | empty_result_refunded, refund succeeded |
Wrong parameter name (gl) | 00:22:20 | 422 | $0 | Lists the supported parameters; Nothing was charged |
| No key | 00:22:27 | 401 | $0 | Missing API key; Nothing was charged |
| Temporary service error | 00:29:28, 00:29:39 | 503 | $0 | request_failed_refunded; try again after 20 seconds |
| Rate limit | See call log | 429 | $0 | rate_limited |
Price comparisons often miss this point. If a pay-per-call API charges for failures and empty results, its real price is the list price divided by the success rate. On EveryInfra, if 5% of a month's calls fail, the bill does not grow by that 5%. On Serper, the page does not say if an empty result counts as a successful response, and we do not guess.
Other search routes: the cheaper `duckduckgo/search` and `bing/search`
The data catalog has two web search routes that cost less than web: bing/search and duckduckgo/search, at $0.000556 per call, or $0.556 per 1,000. At 00:29:50 and 00:30:01, we called duckduckgo/search twice. In one call we set limit to 50, the catalog maximum. Both calls returned 10 rows and cost $0.000556 each.
At 00:55:31 we asked duckduckgo/search for page 2 of "rank tracker api". This time it returned 15 rows, also for $0.000556. So the row count on this route changes from call to call, and a price per 1,000 results must use the real row count. The two bing/search calls at 00:29 returned 503 with no charge.
We tried again at 00:55:20 and 00:58:35. Both calls returned 503 with no charge, and the second response said "failure 2 of 3" and to try again after 20 seconds. All 4 bing/search calls failed today, so this article gives no price per 1,000 results for that route.
These routes show that "price per 1,000" also depends on the index that you need. Maybe you only need one page of web results as context for a model, from any engine. Then $0.556 per 1,000 costs more than Serper Ultimate ($0.30). It costs less than Starter and Standard, and you do not prepay. If you track rankings on one specific engine, use the route for that engine, and compare prices for that route.
Test before you buy: measure four numbers with free queries and the 7-day window
All the math above depends on four numbers that only you can measure. They are your monthly volume, the rows that you ask for, the rows that you get, and the share of failures and empty results. Experienced buyers measure these four numbers with trial credits before they prepay. They do not multiply the "per 1,000" price on the page.
Here is how. Take one week of real queries from your logs and run them as they are. For each call, record the count parameter, the rows returned and the change in balance. Then count empty results and errors on their own.
On Serper, 2,500 free queries are enough for one week of sample queries. After the test, you know if "11 to 100 results cost 2 credits" applies to your calls, and if the balance drops by 1 or by 2. If your first purchase is a large pack, you can get a full refund within 7 days if you used less than 20%. Use those 7 days as a load test for concurrency, latency and failure rate.
On EveryInfra, the $1 trial lasts 24 hours. That is enough to run the same queries once and record charged_usd, rows and empty-result refunds. After that, the minimum top-up is $10, and the balance does not expire, so a long test does not waste money.
Then put the four numbers into the rules of this article. Monthly volume tells you when to move up a pack and how long one pack lasts. Rows per call tell you to compare per request or per result. The share of failures and empty results tells you how much to raise the real unit price. This step costs almost nothing, and it changes your comparison from "read the page" to "read your own bill".
Several projects, several keys: how to split the bill
Small teams often share one search service across several projects. The Serper terms say that you must not register more than one account at a time (Terms of Service). So all projects share one balance, and one six-month clock applies to all of them. If one project stops, its unused credits still expire. On EveryInfra, one account has one bill.
You can create keys by environment or purpose, and limit or disable each key on its own. The console shows daily usage and recent call logs (pricing page). The balance does not expire. If one project stops, its money stays in the wallet for other projects. For teams that budget by project, this point affects month-end accounting more than the unit price does.
When Serper is the better deal
Here are the cases where Serper fits better than EveryInfra. First, steady use above 1.8 million queries in six months, or above 300,000 a month. At that volume, Serper's Scale and Ultimate mixes cost $0.33 to $0.54 per 1,000, which is 22% to 52% less than our $0.694. At 12.5 million in six months, the price is $0.30, or 0.43 times ours.
Second, high concurrency. Serper's smallest pack allows 50 queries per second. Our default is 60 per minute, with a maximum of 1,800 per minute. For a batch that sends hundreds of requests in one second, Serper is easier.
Third, a free trial. Serper gives 2,500 free queries with no credit card. Our free trial is $1 for starring two GitHub repositories, valid for 24 hours, about 1,440 standard searches. Serper's trial is larger and lasts longer.
Fourth, you already use LangChain, CrewAI or Haystack, which have Serper wrappers built in, and a switch means code changes. If your real Serper price is near $1.00 per 1,000, the time to change code can cost more than the savings. Fifth, you worry about the risk of a large first order. Serper gives a full refund within 7 days of the first purchase if you used less than 20%.
That is a test window for your first large order. These five points come from public pages and from our math. We have no Serper account, so we do not judge its result quality, stability or support.
Recent changes (September to November 2026)
In September and October 2026, Google started to return swapped results to rank trackers. The rank-tracking company Nozzle published a study on October 10 and updated it on October 21. It says that from September 13, Google first rejected many automated requests. From September 20, Google returned pages with swapped results to the requests that got through. Page 1 or 2 was swapped in 22.6% of cases on average, with a peak of 43.5% on September 30 (Nozzle).
On swapped pages, the customer's own tracked site was missing from the top 10 in 58.6% of cases. The normal rate is 2.7%. After the peak in late September, about 5% to 11% of pages were still swapped each day in early October. Search Engine Roundtable reported the problem on October 12 (Search Engine Roundtable). Search Engine Journal published an analysis on October 14 (SEJ).
What this means for you: any search API that charges for "successful responses" can charge you for wrong results. The problem is not over, so plan how you will check results before you buy a six-month pack.
From October 13 to 19, 2026, several rank trackers said how they respond. SEOmonitor says that about 10% of its tracked keywords were affected from October 9 to 13. It added a check that compares content and fetches suspect results again (SEOmonitor).
SISTRIX turned off on-demand updates in September. Its analysis now looks only at the top 10, because it cannot compare later positions reliably (SISTRIX). AccuRanker's data from October 19 shows a spike in late September and then a rate of about 1%. It also says that Google made detection stricter again on October 15 (AccuRanker).
What this means for you: for rank tracking, add about 8% for calls that you send again. Also, more tools now look only at the top 10. The top 10 fits inside 1 Serper credit, so you may not need to pay for deep results.
From September 11 to October 28, 2026, Serper did not change its prices. In that period, the public web archive index has 9 different versions of the serper.dev home page (CDX index). We read the pricing section in three snapshots: September 11, October 10 and October 28. Then we compared them with the home page that we read on November 3. The four prices, the query counts and the queries per second did not change. "Credits valid for 6 months", the 2,500 free queries and the "1,000,000+" companies and developers also did not change.
What this means for you: we see no sign of a change to price or validity in the last two months. So you can use the prices in this article. But Serper changed its rules once before. On the day that you buy a large pack, check the last line of each pricing card again.
From September 10, 2026, Claude usage credits in some regions, such as Japan, expire six months after purchase. Claude sends an email seven days before the credits expire, and the Usage page in Settings shows each expiry date. In most other regions, the credits do not expire (Claude Help Center). This is not a search API, but it shows that six-month credits can come with an expiry reminder and a list of expiry dates. The Serper home page and terms do not say if Serper sends a reminder, or where you can see the expiry date of each purchase. What this means for you: before you buy from Serper, ask where you can see expiry dates and if you get a reminder. If not, put the purchase date plus six months in your calendar.
On January 1, 2027, which is 59 days after this article, Google's own Custom Search JSON API stops. It already does not accept new customers. Existing customers get 100 free queries a day. After that, they pay $5 per 1,000, up to 10,000 queries a day (Google for Developers). The billing goes through Google Cloud (billing account guide). The Bing Search APIs were retired earlier, on August 11, 2025 (Microsoft Learn).
Projects that still use the Google API must move to a different search API in the next two months. Serper and EveryInfra are both options. What this means for you: if the move means one large run of old keywords, look at the "one-off project" row above. When most of the volume falls in the first months, $375 packs bought for the lower unit price cost the most.
Connect search to AI tools with MCP
If you buy Serper to give an AI assistant web search, you can also try another setup. EveryInfra has a remote MCP endpoint. MCP is an open protocol that lets AI clients call external tools (specification). The search tool name is everyinfra_search. In Claude Code, one command adds it (Claude Code MCP docs). The price is the same as a direct API call, $0.000694 per search.
# Add the EveryInfra remote MCP server to Claude Code (keep the key in an environment variable)
claude mcp add --transport http everyinfra https://api.everyinfra.com/mcp \
--header "Authorization: Bearer $EVERYINFRA_API_KEY"
# Then type /mcp in Claude Code; the tool names start with everyinfra_For other clients, see the MCP setup page. If you move from Serper, you mainly change three things. The header changes from X-API-KEY to Authorization: Bearer. The country parameter changes from gl to location, and a wrong name returns 422 with no charge.
Result fields follow our catalog. For web, each row has title, url and snippet, plus published when a date exists. We do not say that the fields of the two services are the same. Check each field against the catalog before you switch.
Limits: when these results do not hold
First, the Serper prices here are the public list prices on November 3, 2026, before tax, without any private deal for large customers. Serper says that it can raise concurrency on request, and large customers can have other terms. Second, we set the five usage shapes ourselves, and the model assumes that the oldest credits are used first. The page does not state the order. Third, "11 to 100 results cost 2 credits" is a third-party report that we did not check.
If it is not true, Serper costs less for deep results. Fourth, $0.694 is the web price that we measured. Your account can have a different price, so check the console and charged_usd in each response. Fifth, this article compares price and billing rules only. It does not compare result quality, coverage or stability.
How we checked these numbers
On the Serper side, we read and saved the home page and terms with curl at 00:15 Singapore time on November 3, 2026. A script took the four pack numbers from the saved text, and nobody typed them by hand. The same script read the 21 web archive snapshots. On the EveryInfra side, we logged the time, status code, duration, row count and charged_usd of each request.
From those logs and the saved pages, one script calculated the upgrade points, the usage models and the tables. We compared each number in the text and charts with the script output. In total we sent 64 requests, 55 were charged, and the total was $0.0391.
Get started: from one trial to your first bill
Step 1: Create an EveryInfra account. Star the two GitHub repositories everyinfra/everyinfra-agent-plugins (GitHub) and everyinfra/seo-skills (GitHub). Then claim the $1 trial in the console. It is valid for 24 hours.
Step 2: Send your first request with the quickstart. For parameters, fields and prices, open the infrastructure market, the web search product page or the web search capability page. Step 3: During the 24-hour trial, run each keyword that you really use once. Record the rows and charged_usd.
Step 4: Do your own math with the rules here. Below a few thousand calls a month, pay per call almost always costs less. From tens of thousands to a few hundred thousand a month, compare $1.00 for "small pack when empty" with our $0.694. Above 300,000 a month, look closely at Serper's Scale and Ultimate packs.
For other search routes, see the Web Scraper API, the Bing Scraper API and the Naver Scraper API. Naver search has its own capability page. For an overall comparison with other providers, start at the alternatives overview. We have two other Serper articles. They are Serper API alternative: price per 1,000, free tier and expiry tests and Serper free tier and free alternatives.
FAQ
These questions come from search suggestions for "serper api pricing", "serper api key pricing" and "serper api free" (read from 00:12 to 00:18 Singapore time on November 3, 2026) and from one Hacker News thread. Each answer names its source.
Serper API key pricing: how much does a Serper API key cost?
The key itself is free when you sign up. You pay for credits. The smallest purchase is $50 for 50,000 queries, valid for 6 months, before tax (serper.dev, read November 3, 2026). The terms say that you must not register more than one account at a time or work around the limits on your key or account. So "more keys for more free queries" breaks the terms. (Suggestions: serper api key pricing, serper api key cost)
Serper API free: do the free credits expire?
The home page says "Get 2,500 free queries" and "No credit card required". It gives no end date for the free queries. Paid credits are valid for 6 months. Before May 2023, the home page offered 1,000 free queries, and no credits expired. For how long the free queries last, see our November 1 article. (Suggestions: serper api free, serper api free credits)
Is the largest pack always the best deal?
No. Ultimate is the cheapest choice only above 7.5 million queries in six months. Below 350,000 in six months, several $50 packs cost the least. In our model, people who buy $375 packs without enough usage pay $1.33 to $3.13 per 1,000. That is 1.8 to 4.2 times the $0.75 list price of Standard. (Suggestion: serper dev api pricing)
Does Serper charge 2 credits for 100 results?
The Serper home page does not say. Third-party articles and a Hacker News user say that up to 10 results cost 1 credit and 11 to 100 cost 2. We have no account and cannot check this. The LangChain and CrewAI wrappers for Serper ask for 10 results by default, so the defaults do not meet this rule. (Source: Hacker News thread 43921687)
Is "SERP API price" the same as Serper's price?
No. "SERP API" is a product type: an API that turns a search results page into structured data. Providers charge per call, per month or per result, and prices vary a lot. Serper is one provider, and it sells prepaid credits. To compare, convert to one unit, such as per 1,000 requests or per 1,000 results. Also include expiry and failure charges. (Suggestion: serp api price)
What does a pay-per-call search API cost per month?
That depends on volume. With EveryInfra web at $0.000694 per call, 1,000 calls a month cost $0.69, 20,000 cost $13.88, and 300,000 cost $208.20. On Serper, the cheapest way to buy gives these costs. At 1,000 a month, you pay $50 every six months, and most of it expires.
At 20,000, you pay about $20 a month. At 300,000, one $1,250 Scale pack lasts six months, or about $208 a month. (Suggestions: average api cost, what does an api cost)
References
- Serper home page (pricing box, FAQ, free queries), Serper, read November 3, 2026
- Serper Terms of Service, Serper, updated May 29, 2024, read November 3, 2026
- CDX index of serper.dev snapshots, Internet Archive, read November 3, 2026
- Wayback CDX Server README, Internet Archive, read November 3, 2026
- serper.dev snapshot, November 3, 2022, Internet Archive
- serper.dev snapshot, May 31, 2023, Internet Archive
- serper.dev snapshot, July 11, 2023, Internet Archive
- serper.dev snapshot, October 10, 2026, Internet Archive
- EveryInfra search tool catalog, EveryInfra, read November 3, 2026
- EveryInfra data catalog, EveryInfra, read November 3, 2026
- VAT on services from abroad, GOV.UK, read November 3, 2026
- Purchasing Remote Services from Overseas Service Providers/consumers/purchasing-remote-services-from-overseas-service-providers), IRAS, updated October 9, 2026
- Local businesses importing services/gst-and-digital-economy/local-businesses), IRAS, updated September 18, 2026
- Manage usage credits for paid Claude plans, Anthropic, read November 3, 2026
- Setting up and managing prepaid API billing, OpenAI, read November 3, 2026
- How do I pay for my Claude API usage?, Anthropic, read November 3, 2026
- Serper Pricing in 2026, ColdIQ, prices checked July 5, 2026
- Hacker News thread 43921687, Hacker News, 2025
- google_serper.py (LangChain community source), LangChain, read November 3, 2026
- serper_dev_tool.py (CrewAI source), CrewAI, read November 3, 2026
- Google Serper Search (SerperDevTool docs), CrewAI, read November 3, 2026
- SerperDevWebSearch, deepset, read November 3, 2026
- Google confirms it does not support the results per page parameter, Search Engine Land, September 18, 2025
- Custom Search JSON API: cse.list, Google, read November 3, 2026
- Poisoned Google SERPs, Nozzle, published October 10, 2026, updated October 21, 2026
- Google's changes to how it serves search results and impact on SEOmonitor, SEOmonitor, October 13, 2026
- Analysis: Google Is Poisoning Search Results For Rank Trackers, Search Engine Journal, October 14, 2026
- Custom Search JSON API overview, Google, updated February 18, 2026
- Model Context Protocol Specification, MCP, June 18, 2025
- Connect Claude Code to tools via MCP, Anthropic, read November 3, 2026
- everyinfra-agent-plugins, EveryInfra, read November 3, 2026
- Third-party Google rank tracking broken, Search Engine Roundtable, October 12, 2026
- Why Google ranking data collection is changing, SISTRIX, October 2026, read November 3, 2026
- Poisoned SERPs, AccuRanker, October 19, 2026
- serper.dev snapshot, September 11, 2026, Internet Archive, read November 3, 2026
- serper.dev snapshot, October 28, 2026, Internet Archive, read November 3, 2026
- Bing Search APIs Retiring on August 11, 2025, Microsoft, May 2025
- SerperDevWebSearch source (websearch.py), deepset, read November 3, 2026
- Internet Archive Developers, Internet Archive, read November 3, 2026
- Create, modify, or close your Cloud Billing account, Google Cloud, read November 3, 2026
- everyinfra/seo-skills, EveryInfra, read November 3, 2026
Reference BL-76