Somaire
“Legal” SERP Scraper & Monitoring: SerpAPI, Google CSE, Perplexity API — Costs & Limits (2025)
TL;DR: Scraping Google directly violates its terms of use — the “legal” route is through the Programmable Search API (CSE) or compliant aggregators on the provider side. For high-volume SEO/SEA monitoring, SerpAPI simplifies access to SERPs (cost per 1,000 from $5.50 to $15 depending on the tier), while Google CSE officially charges $5 / 1,000 requests (up to 10k/day). Perplexity API is not a SERP API: it is a search + LLM API billed by tokens and “request fees” — ideal for AI-assisted monitoring and reporting.

“Legal” Framework & Definitions
Since Google prohibits unauthorized automated access to its results, the compliant alternative is to use the official offerings (Programmable Search Engine — CSE — and its Custom Search JSON API) or to outsource data collection to a third-party provider that respects its own legal frameworks (e.g. SerpAPI, which provides results data). Important: the following information is for informational purposes only and does not constitute legal advice; if in doubt, consult your legal counsel or the CNIL. Terminology: in this article, “scraper” refers to any tool that returns SERP data; “monitoring” covers periodic tracking of keywords, competitors, authors, products, and news.
Overview of Options: SerpAPI, Google CSE, Perplexity API
1) SerpAPI (SERP Aggregator)
What it is: a service that provides Google (and other engines) results in JSON format via endpoints (Google Search, Images, News, Maps, etc.). The advantage is to offload anti-bot complexity and infrastructure. 2025 plans range from 250 free requests/month to tiers of 5k, 15k, 30k and 100k–500k/month; the FAQ specifies that a billed search = a successful request (regardless of the number of results returned).
- Strengths: simplicity, broad API coverage (News, Local, Images…), U.S. Legal Shield on some plans, high rate tolerance.
- Limitations: cost per 1,000 higher than official CSE at low volume; dependency on a third party; legal aspects to validate depending on your use cases.
2) Google Programmable Search (CSE) & Custom Search JSON API
What it is: the official route to display/obtain results from your Programmable Search engine. The JSON API provides 100 free requests/day, then $5 / 1,000 up to 10,000 requests/day. Technically, the cse.list endpoint returns 10 results per page and a maximum of 100 results per request (pagination via start and num).
- Strengths: Google compliance, low and predictable cost, simple integration on server or client side.
- Limitations: daily quota capped at 10k (Google no longer increases beyond this), and max 100 results per request. The “Site Restricted JSON API” variant stopped responding on January 8, 2025 (migration to Vertex AI Search recommended).
3) Perplexity API (search + LLM, not a SERP API)
What it is: an AI-search API that queries the web and generates a sourced summary via various models (Sonar, Sonar Pro, Sonar Reasoning, Deep Research). The billing is hybrid: tokens (from $1 to $15 / 1M depending on the model) + a “request fee” linked to the search context. Deep Research also charges for internal web searches (~$5 / 1,000 search queries), with example costs provided (e.g., $0.153 for a run of 30 searches).
- Strengths: contextualized answers with sources, ideal for editorial monitoring, news summaries, comparisons, and reports.
- Limitations: it is not a raw SERP API; rate limits by tier (Tier 0: 50 RPM on sonar, 5 RPM on deep-research), variable costs depending on the volume of internal searches.

Pricing, quotas & limits — comparison table
| Solution | Type | Free | Indicative Prices | Cost ≈ / 1,000 | Key Quotas & Limits |
|---|---|---|---|---|---|
| SerpAPI | SERP Aggregator | 250/month | Dev 5k → $75/mo • Prod 15k → $150/mo • Big Data 30k → $275/mo • High Volume 100k → $725/mo, 250k → $1,475/mo, 500k → $2,750/mo | $15 → $5.50 | “1 successful search = 1 credit”; many verticals (News, Local, Images…) |
| Google CSE (Custom Search JSON API) | Official Google | 100/day | $5 / 1,000 queries (up to 10,000/day) | $5 | 10 results/page, 100 max/query; beyond 10k/day: not extendable; “Site Restricted” discontinued 01/08/2025. |
| Perplexity API | AI + search | — | Tokens ($1–15 / 1M) + request fee (e.g., $0.005 for Sonar web search); Deep Research also charges for “search queries” (~$5 / 1,000) | ≈ $5.7 / 1,000 (e.g., Sonar 500 in + 200 out) | Rate limits by “Tier” (Tier 0: 50 RPM Sonar, 5 RPM Deep Research); not a raw SERP API. |
Cost interpretation: for Perplexity, the cost varies depending on tokens and the number of searches performed by the model (Deep Research). For SerpAPI, the cost is linear per successful query. For CSE, it is linear per billable query and capped per day.
Monitoring use cases (SEO, media, products)
SEO/SEA — Top 10 & featured snippets tracking
- Moderate volume (≤ 10k/day): CSE is suitable if your PSE “searches the entire web”. Consider sampling (every other day) to stay under the cap.
- High volume (> 10k/day, multi-country, images/news): SerpAPI is easier to operate (high quotas, dedicated News/Images/Local endpoints).
Editorial & competitor monitoring
Perplexity API excels at summarizing and sourcing trends (press releases, blogs, technical docs, press) by providing an answer + links. Ideal for market briefs, newsletters, or executive dashboards.
Local monitoring/reviews
To monitor Google Maps/Local (reviews, rankings, hours), the most pragmatic approach is to use the dedicated endpoints of an aggregator (SerpAPI) rather than CSE.

Setup: step by step and snippets
A) Google CSE (Custom Search JSON API)
- Create a Programmable Search Engine (PSE) and retrieve
cx(Search Engine ID) +keyAPI. - Enable billing if you exceed 100/day; set a daily quota in Google Cloud to control spending.
- Implement the server call:
curl "https://www.googleapis.com/customsearch/v1?key=YOUR_KEY&cx=YOUR_CX&q=keyword&num=10&start=1"
Reminders: num ≤ 10; 100 max results per search (paginate via start).
B) SerpAPI
- Create a key, choose the endpoint (Search, News, Images…)
- Test in the Playground then move to production:
curl "https://serpapi.com/search.json?q=keyword&engine=google&api_key=YOUR_KEY&hl=fr&gl=fr&num=10&start=0"
Counting: 1 successful response = 1 credit (regardless of the number of results).
C) Perplexity API
- Create an API group, check your Tier (determines RPM).
- Choose the model (e.g.
sonarfor quick Q/A,sonar-deep-researchfor reports).
curl https://api.perplexity.ai/chat/completions
-H "Authorization: Bearer $PPLX_KEY" -H "Content-Type: application/json"
-d '{"model":"sonar","messages":[{"role":"user","content":"Make a sourced summary of this month’s SEO news"}]}'
Cost = tokens + request fee; Deep Research adds internal “search queries.”
How much to budget? Budget scenarios
| Scenario | Assumptions | Monthly estimate | Comment |
|---|---|---|---|
| Tracking 1,000 weekly keywords (Top 10) | 4 runs/month × 1,000 queries = 4,000 | CSE ≈ $20; SerpAPI ≈ $60–75; Perplexity (sonar) ≈ $23* | *sonar ~ $0.0057/query (assumption 500 in + 200 out + request fee) |
| Intensive multi-country monitoring | 100k queries/month (SERP + News) | SerpAPI 100k plan: $725 | Advantage: specialized endpoints (News, Local), high throughput. |
| Monthly “Deep Research” reports | 1,000 runs × 30 internal searches/run | ≈ $153 (searches) + tokens | Based on Deep Research cost example. |

Risks, compliance & best practices
- Respect the ToS: do not automate direct calls to google.com; prefer CSE (official) or a third-party provider.
- Limit personal data (GDPR/CNIL): anonymize logs, minimize retained fields, define a legal basis for processing.
- Control spending: on CSE, set a daily quota in GCP; on SerpAPI, monitor the credit counter; on Perplexity, monitor tokens and request fees.
- Internal transparency: document your sources and legality of data access (especially for the press).
Golden rule: if the data is strategic and sensitive (protected media, paywalls), favor licenses and/or official APIs from these publishers.
Trends 2025
- End of “Site Restricted JSON API” (January 8, 2025) and push towards Vertex AI Search.
- AI + Search: rise of augmented monitoring workflows (queries → sourced summaries → dashboard).
- Stricter anti-bot: CAPTCHAs, JS rendering, behavioral signals → interest in specialized aggregators.
FAQ — “Legal” SERP scraping & monitoring
Is scraping Google legal? Automating queries directly to google.com violates its terms of use. The recommended path: Programmable Search (CSE) via the official API, or a third-party provider (e.g., SerpAPI) that operates the collection infrastructure and delivers results to you. Is Google CSE sufficient for large-scale SEO monitoring? Yes, up to 10,000 queries/day (100 free), with 10 results/page and 100 max per query. Beyond that, switch to an aggregator or distribute the load across multiple projects/engines (within the rules). SerpAPI vs CSE: which to choose? CSE if you stay ≤ 10k/day and seek minimal cost ($5 / 1,000). SerpAPI if you need multi-verticals (News, Local, Images), high monthly volume (up to 500k+), and high throughput. Can Perplexity API replace a SERP API? No. It complements access to SERPs with augmented monitoring (sourced summaries). For raw ranking tables, use CSE/SerpAPI; for briefs and reports, Perplexity is relevant. How much does Perplexity API cost for daily monitoring? In sonar mode, expect about $0.0057 / query for 500 input tokens + 200 output + indicative “request fee.” Deep Research adds ~$0.005 per internal web search (e.g., 30 searches ≈ $0.15 / run) + tokens. Can you exceed 10k/day on CSE? No, Google no longer grants extensions beyond the 10k/day cap. Plan a hybrid architecture (CSE + aggregator) if needed.
Reliable sources
- Google Programmable Search — Custom Search JSON API (overview & pricing)
- API Doc
cse.list— limits (10 results/page, 100 max) - Custom Search Site Restricted JSON API — end of service Jan 8, 2025
- Google Forum — no more increase beyond 10k/day
- SerpAPI — plans & pricing (5k to 30k/month)
- SerpAPI — high volume (100k–500k/month)
- Perplexity API — pricing (tokens, request fees, examples)
- Perplexity API — rate limits & tiers
- Programmable Search — offer comparison (element & JSON API)