What the API does and who it is for
Google Keyword Insight gives developers programmatic access to the kind of data that SEO practitioners normally retrieve through Google's own tools — keyword suggestions, monthly search volumes, competition levels, CPC bid estimates, and trend signals. The API is hosted on RapidAPI under the host google-keyword-insight1.p.rapidapi.com, so all authentication is handled through a standard x-rapidapi-key header rather than a separate credential system.
The target audience is clearly developers building SEO tooling, digital marketing platforms, content recommendation engines, or any system that needs to evaluate keyword opportunity at scale. URL-based endpoints make it especially interesting for crawling-adjacent use cases — you can point the API at a competitor's page and get back a keyword set derived from that page's content, without writing your own text-extraction logic.
Endpoint walkthrough
The API exposes eight endpoints, six of which return keyword data and two of which return reference data (available locations and languages).
Location-scoped endpoints
GET /keysuggest is the core keyword research endpoint. You pass a keyword, a location (two-letter country code such as US or UK), and a lang code. Optional parameters let you narrow results by mode (exact or all), set a min_search_vol floor, filter by intent, and request that an intent field be appended to each result via return_intent=true.
GET /urlkeysuggest accepts a url in place of a keyword. The API analyzes the content at that URL and returns keyword suggestions scoped to the same location and language parameters. The optional filters — min_search_vol, intent, and return_intent — all apply here as well, but mode is not available.
GET /topkeys takes a keyword, location, and language and returns a ranked list of high-potential opportunity keywords. A num parameter controls how many results come back, defaulting to 10. This endpoint does not expose the intent filtering parameters the other endpoints do, so it is best used for a quick shortlist rather than intent-segmented analysis.
GET /questions generates "People Also Ask"-style question keywords around a seed keyword, with search volume and competition data attached. It accepts the same intent filtering and return_intent options as /keysuggest. This is useful for content teams targeting featured-snippet placements or FAQ schema markup.
Global endpoints
GET /globalkey and GET /globalurl mirror the location-scoped equivalents but remove the location parameter, returning aggregated global data instead. globalkey also supports the mode parameter. Both support intent filtering and return_intent. These are useful when you want worldwide search volumes rather than country-level data — for instance, when planning content for an international audience.
Intent classification
Across most endpoints, the intent filter accepts four values: informational, navigational, commercial, and transactional. This maps closely to standard search intent taxonomies. When return_intent=true, each keyword in the response includes an intent field, which lets you segment and route keywords programmatically — for example, feeding transactional keywords into a paid campaign pipeline and informational ones into a content calendar.
Reference endpoints
GET /locations and GET /languages return the full lists of supported country codes and language codes. The documentation lists a large number of countries spanning every major region, so geographic coverage appears broad.
Pricing breakdown
Google Keyword Insight follows a freemium model with four tiers.
| Plan | Price | Request allowance | Rate limit | Overage |
|---|---|---|---|---|
| BASIC | $0 / month | 20 / month | — | — |
| PRO | $9.99 / month | 150 / day | 10 / minute | $0.0010 / request |
| ULTRA | $23.99 / month | 2,000 / day | 20 / minute | $0.0010 / request |
| MEGA | $33.99 / month | 5,000 / day | 30 / minute | $0.0010 / request |
The BASIC plan's 20-request monthly cap is genuinely restrictive — it is enough to verify connectivity and test a handful of queries, but not enough to run a real workflow. Most developers will hit this ceiling during initial prototyping.
PRO at 150 requests per day works for low-volume tooling: a daily keyword refresh for a small site, or a lightweight internal dashboard. At 10 requests per minute, you will need to throttle any bulk processing logic, but 150 daily calls processed over a few minutes is manageable.
ULTRA's 2,000-per-day allocation opens up more meaningful automation — nightly crawls, scheduled competitive analysis, or multi-client SEO dashboards at a small agency scale. The jump from PRO to ULTRA is $14/month for roughly 13× more daily capacity.
MEGA (the recommended tier) provides 5,000 requests per day at 30 per minute. At $33.99/month, this works out to less than $0.007 per request before overage kicks in. All three paid plans share the same $0.001 overage rate, so the marginal cost of additional requests is identical regardless of plan — the plan choice is really about your expected daily baseline.
Practical use cases
- Content planning tools: Use
/keysuggestwithreturn_intent=trueto bucket keyword suggestions by intent automatically, then surface them to content writers with pre-assigned content types. - Competitor content analysis: Feed a competitor's URLs to
/urlkeysuggestor/globalurlon a schedule to track which keyword opportunities their content is capturing. - FAQ and schema generation: Hit
/questionsfor a seed keyword to populate FAQ sections or generate structured data for featured snippets. - PPC keyword seeding: Pull transactional-intent keywords via the
intent=transactionalfilter in/keysuggestand pipe them directly into a Google Ads campaign management workflow. - Multilingual SEO: Combine the
locationandlangparameters to generate country-specific keyword sets for the same topic, useful for sites targeting multiple markets.
Limitations and things to check before integrating
Latency: The average response time is 1,791 ms. This is on the slower side and rules out real-time user-facing applications — any UI that calls the API synchronously on user input will feel sluggish. Plan to call the API asynchronously, cache results aggressively, or run it in background jobs. For batch SEO workflows this latency is acceptable; for interactive tooling it requires architectural consideration.
Daily vs. monthly caps: BASIC is monthly; all paid plans are daily. If your use case is bursty — for instance, a quarterly audit that fires thousands of requests in a few days — you need to size the plan around your peak day, not your average. At 5,000 requests per day on MEGA, a large-scale crawl will still require multi-day scheduling.
No mode on URL endpoints: The mode parameter (exact vs. all) is available on /keysuggest and /globalkey but not on the URL-based endpoints. If keyword filtering precision matters for your URL-based workflows, you will need to implement post-processing on the results.
Rate limits on lower tiers: The PRO plan's 10-request-per-minute ceiling means parallelizing requests requires careful throttling logic. Libraries like bottleneck (Node.js) or ratelimit patterns in Python are straightforward to apply, but be aware that a single burst will trigger rate-limit errors without them.
Custom plans: For volumes beyond the MEGA tier, the provider accepts inquiries at [email protected]. This is worth exploring if you anticipate sustained usage well above 5,000 daily requests.
Getting started
All requests require a RapidAPI subscription and pass the API key as the x-rapidapi-key header. A minimal test against the keyword endpoint looks like this:
curl --request GET \
--url 'https://google-keyword-insight1.p.rapidapi.com/keysuggest/?keyword=content+marketing&location=US&lang=en' \
--header 'x-rapidapi-host: google-keyword-insight1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_API_KEY'
Before building against a specific country or language, call /locations and /languages to confirm the exact codes the API expects. Response parsing is straightforward given the consistent structure across endpoints, and the return_intent flag means you can defer intent classification to the API rather than building your own classifier.