Google Programmable Search Engine (Custom Search JSON API)
"The Custom Search JSON API lets you develop websites and applications to retrieve and display search results from Programmable Search Engine programmatically." [1]
Google Programmable Search Engine (Custom Search JSON API) lets developers embed Google web and image search results into applications via a REST API authenticated with an API key, with SDKs available for seven languages including Python, Java, and Go. Pricing starts at $5 per 1,000 queries, with a free tier of 100 queries per day and a hard ceiling of 10,000 paid queries per day. The API is closed to new customers, and existing users must migrate to an alternative solution by January 1, 2027.
Best for / Avoid if
Best for: Cost-sensitive teams - low, transparent entry price
Avoid if: You have strict compliance requirements
Scores
- 20 / 100Agent friendliness
- 100 / 100Pricing transparency
- 50 / 100Setup speed
- 35 / 100Docs quality
- 75 / 100Procurement ease
- 0 / 100Trust readiness
Pricing & procurement
- Pricing model
- Usage-based [2]
- Published pricing
- ✓ Yes
- Free tier
- ✓ Yes [3]
- Free tier details
- 100 search queries per day at no cost, recurring daily allowance.
- Self-serve signup
- ✗ No [4]
- Requires sales call
- ✗ No
- Enterprise plan
- ✗ No
| Plan | Item | Per | Amount | Source |
|---|---|---|---|---|
| Free | Search queries | 100 queries/day (recurring daily allowance) | $0 | source |
| Paid | Search queries | 1,000 queries | $5 | source |
Capabilities
- Supported actions
- web_search (cse.list GET /customsearch/v1), image_search (cse.list with searchType=image), site_restricted_search (cse.siterestrict.list GET /customsearch/v1/siterestrict) [5]
- Regions
- Global web index; country-targeted results via 'cr' parameter (200+ country codes); geolocation via 'gl' parameter
- Languages
- Arabic, Bulgarian, Catalan, Czech, Danish, German, Greek, English, Spanish, Estonian, Finnish, French, Croatian, Hungarian, Indonesian, Icelandic, Italian, Hebrew, Japanese, Korean, Lithuanian, Latvian, Dutch, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Serbian, Swedish, Turkish, Chinese Simplified, Chinese Traditional [6]
- Input types
- natural language query (q parameter), keyword query, site filter (siteSearch parameter), language filter (lr parameter), country filter (cr parameter), file type filter, date restriction, image type/size/color filters, safe search setting
- Output types
- JSON (OpenSearch 1.1 compliant), search result metadata, engine metadata
- Webhooks
- ✗ No
- Sandbox / test mode
- ✗ No
- SDK languages
- JavaScript/Node.js, Python, Java, PHP, .NET, Ruby, Go [7]
- MCP server
- ✗ No
Trust & compliance
- SOC 2
- – Unknown
- HIPAA
- – Unknown
- GDPR
- – Unknown
- ISO 27001
- – Unknown
- PCI DSS
- – Unknown
- Published SLA
- ✗ No [8]
- Rate limits
- 100 search queries per day free; additional requests cost $5 per 1,000 queries, up to 10,000 queries per day maximum. The JSON API will never return more than 100 results total (start + num must not exceed 100). num parameter valid values are integers between 1 and 10. [9]
- Known restrictions
- API is closed to new customers; existing Custom Search JSON API customers have until January 1, 2027 to transition to an alternative solution, Maximum 10,000 queries per day even with paid tier, Maximum 100 total results per search engine query (start + num <= 100), Must not build databases or create permanent copies of search results beyond cache header limits, Must not keep cached copies longer than permitted by cache header, Results may not be sublicensed or distributed to third parties, Search engine must be configured via Programmable Search Engine control panel (cx parameter required), Site Restricted JSON API limited to search engines with 10 or fewer specific sites, no global TLD patterns, and 'Search the entire web' disabled [10]
Developer surface
Integration
- API style
- rest
- Base URL
- https://customsearch.googleapis.com/customsearch/v1
- Version
- v1
- Versioning
- url
- Stability
- deprecated
- Auth methods
- api_key
- Rate limit
- 10000 / day
Adoption & maturity
- Launched
- 2006-10-23
Other Web Search APIs
Firecrawl
The API to search, scrape, and interact with the web at scale.
Exa
"Web search, built for AI agents. One API for search, crawling, and research agents."
Brave Search API
"The Brave Search API provides developers with access to Brave Search results and enables building AI products, chatbots, coding assistants, and AI-search engines with real-time web data."
Tavily Search API
"Real-time search, extraction, research, and web crawling through a single, secure API."
Linkup
"Production-grade Web Search API for AI"
Jina AI Search Foundation (DeepSearch / Reader)
"Your Search Foundation, Supercharged."
References
- ↑Description: developers.google.com
- ↑Pricing model: developers.google.com · support.google.com
- ↑Free tier: developers.google.com
- ↑Self-serve signup: developers.google.com
- ↑Supported actions: developers.google.com · developers.google.com
- ↑Languages: developers.google.com
- ↑SDK languages: developers.google.com
- ↑Published SLA: developers.google.com
- ↑Rate limits: developers.google.com · developers.google.com
- ↑Known restrictions: developers.google.com · developers.google.com
Change history
- 2026-06-15 Score Docs Quality: 15 → 35
- 2026-06-15 Score Agent Friendliness: 0 → 20
- 2026-06-14 API Reference URL: (none) → https://developers.google.com/workspace/docs/api/how-tos/overview
- 2026-06-14 Has Structured Data: (none) → Yes
- 2026-06-14 Robots Allows Agents: (none) → Yes
- 2026-06-14 Summary Md: (none) → Google Programmable Search Engine (Custom Search JSON API) lets developers embe…
- 2026-06-14 Score Trust Readiness: (none) → 0
- 2026-06-14 Avoid If: (none) → You have strict compliance requirements
- 2026-06-14 Scoring Methodology: (none) → Scores are computed deterministically from this profile's published, sourced fi…
- 2026-06-14 Best For: (none) → Cost-sensitive teams - low, transparent entry price
- 2026-06-14 Score Agent Friendliness: (none) → 0
- 2026-06-14 Score Pricing Transparency: (none) → 100
- 2026-06-14 Score Setup Speed: (none) → 50
- 2026-06-14 Score Docs Quality: (none) → 15
- 2026-06-14 Score Procurement Friction: (none) → 75
- 2026-06-14 Llms Txt Present: (none) → No
- 2026-06-14 Docs URL: (none) → https://developers.google.com/docs
- 2026-06-14 Rendering: (none) → static
- 2026-06-14 Free Tier Available: set to Yes
- 2026-06-14 Free Tier Details: set to 100 search queries per day at no cost, recurring daily allowance.
- 2026-06-14 Self Serve Signup: set to No
- 2026-06-14 Requires Sales Call: set to No
- 2026-06-14 Enterprise Plan Available: set to No
- 2026-06-14 SLA Published: set to No
- 2026-06-14 Documented Rate Limits: set to 100 search queries per day free; additional requests cost $5 per 1,000 queries,…
- 2026-06-14 Rate Limit Requests: set to 10000
- 2026-06-14 Rate Limit Window: set to day
- 2026-06-14 Known Restrictions: set to API is closed to new customers; existing Custom Search JSON API customers have …
- 2026-06-14 Auth Methods: set to api_key
- 2026-06-14 Auth Docs URL: set to https://developers.google.com/custom-search/v1/introduction
- 2026-06-14 API Style: set to rest
- 2026-06-14 Base URL: set to https://customsearch.googleapis.com/customsearch/v1
- 2026-06-14 API Version: set to v1
- 2026-06-14 Versioning Scheme: set to url
- 2026-06-14 Stability: set to deprecated
- 2026-06-14 Deprecation Policy URL: set to https://developers.google.com/custom-search/terms
- 2026-06-14 Quickstart URL: set to https://developers.google.com/custom-search/v1/introduction
- 2026-06-14 Requires Verification: set to No
- 2026-06-14 Starting Price Usd: set to 5
- 2026-06-14 Price Basis: set to 1,000 queries
- 2026-06-14 Free Tier Limit: set to 100 search queries per day
- 2026-06-14 Slug: set to google-custom-search
- 2026-06-14 Notable Customers: set to (none)
- 2026-06-14 Fields Not Found: set to soc2, hipaa, gdpr, iso_27001, pci_dss, mcp_server_available (no official Google…
- 2026-06-14 Source Confidence: set to high
- 2026-06-14 Extractor: set to claude-subagent:sonnet
- 2026-06-14 Last Verified At: set to 2026-06-14T00:00:00.000Z
- 2026-06-14 Status: set to published
- 2026-06-14 Launched At: set to 2006-10-23
- 2026-06-14 Name: set to Google Programmable Search Engine (Custom Search JSON API)
Suggest an edit / leave a review
Leave a review or comment
curl -X POST https://apio.sh/api/feedback/google-custom-search \
-H 'Content-Type: application/json' \
-d '{"kind":"review","rating":5,"body":"Your experience with this API…"}'Suggest a correction to a field (cite a source)
curl -X POST https://apio.sh/api/suggest/google-custom-search/FIELD \
-H 'Content-Type: application/json' \
-d '{"value":"corrected value","citations":[{"url":"https://source.example/page","excerpt":"supporting quote"}],"note":"what changed and why"}'