Track keyword rankings, news and SERP features on Google
Check where your site ranks for every keyword, in every country you sell in, on your own schedule. Get organic results, related searches and news coverage as clean JSON, without fighting CAPTCHAs.

Rank tracker
example.com · United States
| Keyword | Rank | Change |
|---|---|---|
| trail running shoes | #2 | 3 |
| waterproof hiking boots | #5 | 1 |
| running socks | #8 | |
| best trail shoes 2026 | #11 | 2 |
The challenge
Why this is hard to do yourself
Building it in-house
- Google shows CAPTCHAs and blocks to repeated automated searches, so homemade rank checkers stop working.
- Results change by country and language, which means running checks from many locations.
- Search result pages mix ads, AI overviews, images and videos, so finding the real organic rank is fiddly.
- Commercial rank trackers charge per keyword per month, even for keywords you only check weekly.
With DataGuru
- One request per keyword returns organic results with their rank, title, link and snippet.
- Set `country` and `language` per request to see local results.
- Organic results, related searches, AI overviews and pagination come back as separate fields.
- Pay per successful search, so you decide how many keywords to track and how often.
APIs used
The DataGuru APIs behind this workflow
Use one or combine them. Every API takes a simple JSON request and returns structured JSON.

Google Search
Organic results with rank, title, link and snippet, plus related searches and AI overviews, for any keyword and country.
$0.0022 / req

Google News
News articles for a brand, product or topic, with source, date and link, by country and edition.
$0.005 / req

Google Images
Image results for a keyword, or a visual search from an image URL to find where your images appear.
$0.005 / req
How it works
Set it up in 4 steps
- 1
Pick your keywords
List the keywords you want to rank for and the countries that matter to you.
- 2
Schedule searches
Run a daily or weekly job that sends each keyword and country to the Google Search API.
- 3
Record positions
Find your domain in `organic_results` and save its `rank` with the date.
- 4
Report and alert
Chart ranking trends, flag big drops and see which competitors moved above you.
Example
A daily keyword rank tracker in Python
This script searches each keyword, finds the first result from your domain and saves its position. Keywords where you don't appear in the results are saved with no rank.
import csv
import datetime
import requests
API_URL = "https://api.dataguru.cc/api/v1/google/search"
HEADERS = {"Authorization": "Api-Key YOUR_API_KEY"}
MY_DOMAIN = "example.com"
KEYWORDS = ["trail running shoes", "waterproof hiking boots"]
COUNTRY = "us"
def position(keyword):
res = requests.post(
API_URL,
headers=HEADERS,
json={"query": keyword, "country": COUNTRY, "num_results": "50"},
timeout=60,
)
res.raise_for_status()
for result in res.json().get("organic_results", []):
if MY_DOMAIN in result.get("link", ""):
return result["rank"], result["link"]
return None, None
with open("rankings.csv", "a", newline="") as f:
writer = csv.writer(f)
today = datetime.date.today().isoformat()
for keyword in KEYWORDS:
rank, url = position(keyword)
writer.writerow([today, COUNTRY, keyword, rank, url]){
"search_information": {
"total_results": 48200000,
"query_displayed": "trail running shoes"
},
"organic_results": [
{
"rank": 1,
"title": "The Best Trail Running Shoes, Tested",
"link": "https://www.example-reviews.com/trail-running-shoes",
"displayed_link": "example-reviews.com › gear",
"snippet": "We ran hundreds of miles to find the best shoes for grip and comfort."
},
{
"rank": 2,
"title": "Trail Running Shoes for Men & Women",
"link": "https://www.example.com/trail-running-shoes",
"displayed_link": "example.com › shoes › trail",
"snippet": "Shop lightweight trail runners with free returns."
}
],
"related_searches": [
{
"query": "best trail running shoes for beginners"
}
]
}Example response trimmed to the fields used above. Values are illustrative.
What you get
What you can do with the data
Daily rank tracking
Store the rank of your pages for every keyword and see exactly when they move.
Competitor visibility
See which domains rank above you in organic_results and how that changes over time.
Local SEO checks
Compare rankings across countries and languages with the country and language parameters.
Keyword ideas
Collect related_searches to find new keywords people search for around your topic.
Brand news monitoring
Follow coverage of your brand and competitors with the Google News API.
Image search checks
Use the Google Images API to see where your product images show up.
What it costs
Tracking 100 keywords in one country, once a day:
$6.60 / month
3,000 requests × $0.0022 / req on the Google Search API. No subscription or minimum; you only pay for successful requests.
See all pricingWho it's for
Built for teams like yours
- SEO teams
- Marketing agencies
- Content teams
- E-commerce brands
- PR and comms teams
- Founders tracking their market
FAQ
Frequently asked questions
num_results, which covers the first five pages.More use cases
Other things you can build
E-commerce & Retail
E-commerce price & stock monitoring
Keep a watchlist of products, check price, stock and seller on a schedule, and build a price history you can chart and alert on.
Social Media
Social listening & brand monitoring
Find posts that mention your brand or competitors, pull the conversation around them, and track engagement over time.
Recruiting & HR
Resume parsing & candidate screening
Upload resumes in bulk and get contact details, skills, experience, education and quality scores back as JSON, ready for your ATS or spreadsheet.