DEV Community

elowen
elowen

Posted on

How to Get Google, Bing, and Yandex Search Results as JSON

Search result data is useful for many developer and SEO workflows:

  • rank tracking
  • keyword research
  • competitor monitoring
  • market research
  • SEO tools
  • internal data pipelines
  • automation workflows

You can build your own scraper for this, but maintaining it usually means dealing with proxies, retries, browser rendering, parser updates, rate limits, anti-bot systems, and monitoring.

For many projects, it is simpler to use a Search API and get structured results back directly.

In this post, I’ll show a basic example using TalorData, a Search API that supports Google, Bing, and Yandex.

It can return:

  • JSON
  • raw HTML
  • screenshots

There are 1,000 free requests, and no credit card is required.

Website
Playground

Example: Get Google SERP Data as JSON

Here is a basic curl request:

curl -X POST 'https://serpapi.talordata.net/serp/v1/request' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'engine=google' \
  -d 'q=search api' \
  -d 'json=2'
Enter fullscreen mode Exit fullscreen mode

The request includes:

  • engine=google: the search engine
  • q=search api: the search query
  • json=2: return structured JSON output

TalorData also supports Bing and Yandex, so you can change the engine parameter depending on the search source you need.

Example Response Shape

The API returns structured data that you can use in an app, dashboard, report, or data pipeline.

A simplified response shape might look like this:

{
  "search_metadata": {
    "engine": "google",
    "query": "search api"
  },
  "organic_results": [
    {
      "position": 1,
      "title": "Example Result",
      "link": "https://example.com",
      "snippet": "Example search result snippet."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Python Example

import requests

url = "https://serpapi.talordata.net/serp/v1/request"

headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/x-www-form-urlencoded"
}

data = {
    "engine": "google",
    "q": "search api",
    "json": "2"
}

response = requests.post(url, headers=headers, data=data)
response.raise_for_status()

result = response.json()

print(result)
Enter fullscreen mode Exit fullscreen mode

JavaScript Example

const response = await fetch("https://serpapi.talordata.net/serp/v1/request", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/x-www-form-urlencoded"
  },
  body: new URLSearchParams({
    engine: "google",
    q: "search api",
    json: "2"
  })
});

if (!response.ok) {
  throw new Error(`Request failed: ${response.status}`);
}

const result = await response.json();

console.log(result);
Enter fullscreen mode Exit fullscreen mode

When to Use a Search API Instead of Building a Scraper

A Search API is usually a better fit when:

  • you need structured SERP data quickly
  • you do not want to maintain proxies
  • you need location or country-specific search results
  • you need JSON output for an app or workflow
  • scraping infrastructure is not your core product

Building your own scraper can still make sense if you need complete control, very custom behavior, or already have scraping infrastructure in place.

Common Use Cases

Search result APIs are often used for:

  • SEO rank tracking
  • keyword research
  • competitor analysis
  • brand monitoring
  • market research
  • AI and data enrichment workflows
  • internal dashboards

Final Thoughts

Search result scraping looks simple at first, but production systems usually require much more than one HTTP request.

Using a Search API can reduce the amount of infrastructure you need to maintain and let you focus on the data and product experience.

If you try TalorData, I’d be interested in feedback on:

  • response fields
  • output formats
  • pricing
  • playground usability
  • missing parameters

Top comments (0)