Table of Contents
Overview
The Google Custom Search JSON API gives you 100 free search queries per day. Once you hit that limit, every additional request returns a403 error with the message “dailyLimitExceeded.” Enabling billing raises the cap to 10,000 queries per day at $5 per 1,000 queries. The quota resets at midnight Pacific Time.
If you’re building anything beyond a low-traffic internal tool, you’ll likely hit this wall. This guide explains exactly why the error happens, how to fix it, and what to do when even the paid tier isn’t enough.
What Does the Error Mean?
When your application exceeds the daily quota, the API returns a JSON error response that looks like this:{
"error": {
"code": 403,
"message": "Daily Limit Exceeded",
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceeded",
"message": "Daily Limit Exceeded"
}
]
}
}
This means your project has used all its allocated queries for the current 24-hour window. The error applies per Google Cloud project, not per API key — so creating multiple keys under the same project won’t help.
You may also see a variation that says “This API requires billing to be enabled on the project.” This means you’re on the free tier (100 queries/day) and haven’t enabled billing yet.
Why You’re Hitting the Limit
Four common causes: 1. Billing isn’t enabled. Without billing, you’re capped at 100 queries per day. Many developers assume the free tier is 10,000 — it’s not. The 10,000 limit only applies after you enable billing in the Google Cloud Console. 2. Live search without debounce. If your search fires on every keystroke, a single user typing “running shoes” sends 13 API calls. Multiply that by your daily visitors and you’ll burn through 100 queries in minutes. 3. No caching. If ten users search for “contact us” in the same hour, that’s 10 API calls for identical results. Without a caching layer, you’re wasting quota on duplicate queries. 4. Bot traffic. Bots and crawlers can trigger your search endpoint repeatedly. Without rate limiting or bot detection, automated traffic can exhaust your quota before real users even arrive.Short-Term Fixes
Enable billing (increases limit to 10,000/day):- Go to the Google Cloud Console.
- Select your project.
- Navigate to APIs & Services → Enabled APIs and click on Custom Search API.
- Go to the Quotas tab.
- Click the pencil icon next to “Queries per day” and set your desired limit (up to 10,000).
- Enable billing under Billing → Link a billing account if you haven’t already.
Why Upgrading Still Fails
Even with billing enabled, the Google Custom Search JSON API has a hard ceiling of 10,000 queries per day. There’s no way to increase this further through Google. For sites with more than a few thousand daily visitors, 10,000 queries isn’t enough — especially if you offer autocomplete or instant search. Google previously offered the Site Restricted JSON API with no daily limit, but that service was discontinued in January 2025 and replaced by Vertex AI Search. This means if you need more than 10,000 searches per day, you need a different solution entirely.Better Alternative for High-Volume Sites
If you’re consistently hitting Google’s API limits, ExpertRec is purpose-built for this use case. Unlike Google’s per-query pricing, ExpertRec charges a flat monthly fee based on pages indexed — so your costs don’t spike with traffic. Key advantages over Google CSE:- Generous query limits — from 50K searches/mo on the Standard plan, with higher tiers and custom limits for larger sites.
- JavaScript execution — ExpertRec’s crawler renders JS-heavy pages (React, Angular, Vue) that Google CSE often misses.
- Merchandising and result reordering — pin, boost, or bury specific results per query. Google CSE offers no control over result ranking.
- GA4 integration — connect search analytics directly to your Google Analytics data.
- Typo tolerance and autocomplete — built-in, no extra API calls needed.
- Multi-site support — search across multiple domains from a single index.
Comparison Table
| Feature | Google CSE (Free) | Google CSE (Paid) | ExpertRec |
|---|---|---|---|
| Daily query limit | 100 | 10,000 | 50K–200K/mo (plan-based) |
| Pricing | $0 | $5 per 1,000 queries | From $49/mo |
| Best for | Prototypes, low-traffic sites | Sites under 10K queries/mo | Sites needing 10K+ queries/mo with AI search, autocomplete, or document indexing |
| Autocomplete | No | No | Yes (built-in) |
| JS rendering | No | No | Yes |
| PDF & document indexing | No | No | Yes |
| Search analytics | Basic | Basic | Full dashboard + GA4 |
| Ads in results | Yes | No | No |
How to Migrate from Google CSE
If you’ve decided to switch away from Google Custom Search, here’s how to migrate to ExpertRec:- Sign up at ExpertRec and enter your website URL.
- Wait for indexing — ExpertRec crawls your site automatically using your sitemap. Most sites are fully indexed within a few hours.
- Replace the code snippet — swap out the Google CSE JavaScript embed with the ExpertRec snippet. The search box and results page work immediately.
Related Guides
- Google Custom Search JSON API Documentation Explained
- Google Custom Search Pricing: Complete Cost Breakdown
- How to Find Your Search Engine CX ID
Frequently Asked Questions
This error occurs when your application has used all 100 free daily queries or your paid quota. The limit resets at midnight Pacific Time. To fix it, wait for the reset, upgrade to a paid plan, or switch to an alternative like ExpertRec.
Google Custom Search JSON API allows 100 free queries per day. After that, you need to enable billing at $5 per 1,000 additional queries, up to a maximum of 10,000 queries per day.
Enable billing in the Google Cloud Console for your project. This increases your limit to 10,000 queries per day at $5 per 1,000 queries. For higher limits, consider alternatives like ExpertRec (from $49/mo for 50K searches).
Yes, ExpertRec offers plan-based search limits starting at 50K requests/mo ($49/mo) — far more generous than Google’s 10K/day hard cap. Higher tiers offer 100K and 200K requests, with custom limits for larger sites.
Go to the Google Cloud Console, navigate to APIs and Services then Dashboard, and select Custom Search JSON API. The usage tab shows your current daily query count and remaining quota.
Your API calls will return a 403 error with the message “dailyLimitExceeded.” Search results will stop returning until the quota resets at midnight Pacific Time, or you enable billing to increase your quota to 10,000 queries per day.




