Search API Tester

Choose a search API, add your key and a query, and send a real request to see the status, latency, headers and response body.

Request

Credentials
Parameters
Enter or Ctrl + Enter sends

The request goes through our server because most search APIs block requests made directly from a browser (CORS). Your key is forwarded to the provider once, for this request, and is not stored on our server.

Response

Body

 

Run it yourself

Show the command
 

How to use the search API tester

This search API tester sends one real request to a search or SERP API and shows the raw status, headers and JSON your own code would receive, like a small search API playground.

  1. Pick a provider under Search API. The fields change to match its documentation.
  2. Paste your key, type a query and set the country, language and paging parameters you care about.
  3. Press Send request to see the status, upstream time, size, headers and formatted JSON, with a short summary such as the number of organic results.
  4. Use Copy as cURL to rerun the request from a terminal, or Open in SERP Parser to turn the JSON into a table of positions, titles and URLs in the SERP Parser.

The supported APIs at a glance

Each provider names things differently, which is what usually breaks when you switch.

API Auth Endpoint style Main parameters
SerpApi api_key query parameter GET serpapi.com/search.json with engine=google q, location, gl, hl, start, device
Serper X-API-KEY header POST JSON to google.serper.dev/search q, gl, hl, location, num, page
Brave Search API X-Subscription-Token header GET api.search.brave.com/res/v1/web/search q, country, search_lang, count (max 20), offset (max 9)
SearchApi.io api_key query parameter or Bearer header GET searchapi.io/api/v1/search with engine=google q, location, gl, hl, page, device
DataForSEO HTTP Basic (API login and password) POST a JSON array holding one task to /v3/serp/google/organic/live/regular keyword, location_name, language_code, device, depth
Tavily Bearer token POST JSON to api.tavily.com/search query, search_depth, topic, max_results
Exa x-api-key header POST JSON to api.exa.ai/search query, type, numResults, userLocation
Google Custom Search JSON API (existing customers only) key query parameter GET googleapis.com/customsearch/v1 cx, q, gl, hl, num (max 10), start

SearchApi.io's docs note that Google phased out num in September 2025, fixing results at 10 per page, so paginate with page or start.

What to check when you evaluate a SERP API

A SERP API tester is most useful when you run the same query through two or three providers and compare.

  • Latency. Send the same query several times and look at the spread, not the fastest run. Caches skew this: SerpApi, for example, serves an identical search from its one-hour cache.
  • Result parity with Google. Search the same query in a private window with the same country and language, then compare the top results, ads and People also ask.
  • Localisation. Try a city-level location, not only a country, and check the results change as expected.
  • Error handling. Send a wrong key and an invalid parameter. A good API answers with a clear status code and message, not a 200 with an empty list.
  • Credits per request. Pricing is rarely a flat one request per credit. Tavily charges 2 credits for advanced depth instead of 1, Exa bills extra for results beyond 10, and DataForSEO multiplies the charge by five for keywords with operators such as site:. The SERP API Cost Calculator turns those rules into a monthly estimate.
  • Rate limits. Find out whether the limit is per second, per month or both, and what the API returns when you hit it.

Reading rate-limit headers

The tester lists rate-limit, retry and credit headers first and repeats them next to the status.

  • X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset are the most common. Brave puts two comma-separated values in each, the per-second window first and the monthly quota second, so X-RateLimit-Remaining: 0, 14523 means this second's allowance is used up but 14,523 requests remain this month. Its reset values are seconds from now.
  • RateLimit and RateLimit-Policy come from an IETF draft that some newer APIs follow.
  • Retry-After usually comes with a 429 or 503 and gives either a number of seconds or an HTTP date.

Some providers report usage in the body instead: DataForSEO returns a cost field and Exa an estimate in costDollars. The summary shows them when present.

Common errors and how to fix them

Status Usual cause Fix
401 The key is missing, mistyped or belongs to another product. Paste the key again without spaces. For DataForSEO, use the API login and password from its API access page.
403 The key is valid but not allowed: the plan lacks this endpoint, the API is not enabled for it, or it is IP-restricted. Check the plan and the key's restrictions. IP-restricted keys fail here because requests come from our server.
429 Too many requests in the current window, or the monthly quota is used up. Wait for the time in Retry-After or the reset header, slow down, or check your remaining credits.
5xx A problem on the provider's side. Retry after a short wait, backing off between attempts. If it persists, check the provider's status page.

Keep your key safe

  • Test with a separate key you can revoke, not your production key, and restrict it where the provider allows; Google Cloud, for example, lets you limit a key to specific APIs.
  • Rotate the key when you finish, and at once if it ends up in a chat, a ticket or a screenshot.
  • Leave Remember key on this device unticked on shared computers.
  • Keep Include my key unticked when you copy the cURL command, so the key is read from an environment variable instead of sitting in the snippet.

Limits of this tester

  • Requests go from your browser to our server, then to the provider. The upstream time is measured on our server and includes opening a fresh connection each time, so a server that reuses connections may see lower numbers. The round trip adds the hop from your browser to us.
  • Requests come from our server's IP address in a data centre, not from your network, so localisation depends on parameters such as gl or location.
  • Each request times out after 20 seconds, bodies over 3 MB are cut off, and the tester allows 30 requests a minute. For parameters not listed, copy the cURL command and add them yourself.

Frequently asked questions

Is it safe to paste my API key into this tester?

The key goes over HTTPS to our server, which forwards it to the provider for that one request and does not store or log it. In your browser it stays in memory only, unless you tick Remember key on this device, which saves it in local storage until you click Forget key.

Why does the tester send requests through a server?

Most search APIs block requests made directly from web pages on other sites (CORS), so a browser cannot call them. The tester sends your request to our server, which calls the provider with the same URL, parameters and body and passes the response back.

Does a test request use my API credits?

Yes. Each request is a real API call and is billed like any other. Some providers do not bill failures: SerpApi does not count cached or errored searches, SearchApi.io charges only for successful 200 responses, and Brave counts only successful requests.

Can I test SerpApi or Serper for free?

Yes. SerpApi's free plan includes 250 searches a month, and Serper gives 2,500 free queries when you sign up. Brave, Tavily and Exa also include monthly free credits, so you can compare several providers before paying.

What is the difference between a SERP API and a search API?

A SERP API such as SerpApi, Serper or DataForSEO fetches a search engine's results page, usually Google's, and returns it as JSON, including ads and features like People also ask. The Brave Search API and Exa return results from their own indexes, and Tavily returns results shaped for AI agents.

Is the Google Custom Search JSON API still available?

Only for existing customers. Google has closed it to new customers and says existing customers have until January 1, 2027 to move to another solution. If you already have a key and a search engine ID, you can still test it here.