Sports scores move fast. League tables update weekly. Fans search Google before they open any sports app.
This repository demonstrates how to convert Google Search sports widgets into structured data using a dedicated Google Sports Results API.
Instead of scraping fragile HTML layouts or trying to intercept browser network calls, you can request structured JSON containing match results, live scores, standings, and fixtures — exactly as Google displays them.
If you need a flexible sports data API without integrating official league feeds, this approach provides reliable access to publicly visible sports information through Google.
Full request configuration options are available in the official
Google Sports API documentation.
Google sports widgets contain structured blocks that include:
• Live match scores
• Final match results
• Match status (Live, HT, FT)
• Team names
• Competition names
• League standings
• Upcoming fixtures
• Match dates
• Venue information
This Google sports API parses those structured widgets and returns machine-readable JSON.
All requests are sent to:
https://app.scrapingbee.com/api/v1/
Sports data is retrieved using:
search=google
You simply pass a sports-related query such as:
• "NBA live score"
• "Premier League standings"
• "Barcelona vs Real Madrid"
• "NFL results today"
The API processes the SERP and extracts the sports result block.
curl "https://app.scrapingbee.com/api/v1/?api_key=YOUR_API_KEY&search=google&q=Manchester+United+vs+Liverpool&country_code=uk"curl "https://app.scrapingbee.com/api/v1/?api_key=YOUR_API_KEY&search=google&q=Bundesliga+standings&country_code=de"import requests
params = {
"api_key": "YOUR_API_KEY",
"search": "google",
"q": "NBA live score",
"country_code": "us"
}
response = requests.get(
"https://app.scrapingbee.com/api/v1/",
params=params
)
data = response.json()
print(data)const { ScrapingBeeClient } = require('scrapingbee');
const client = new ScrapingBeeClient('YOUR_API_KEY');
async function getSportsResults() {
const response = await client.get({
url: 'https://www.google.com/search',
params: {
search: 'google',
q: 'Champions League results',
country_code: 'uk'
}
});
console.log(response.data);
}
getSportsResults();| Parameter | Description |
|---|---|
api_key |
Your API authentication key |
search |
Must be set to google |
q |
Sports query (team vs team, standings, results) |
country_code |
Region targeting (us, uk, de, fr, etc.) |
language |
Language localization |
render_js |
Enable JavaScript rendering if required |
premium_proxy |
Use higher reliability proxy routing |
{
"sports_results": {
"match": {
"home_team": "Manchester United",
"away_team": "Liverpool",
"home_score": 3,
"away_score": 2,
"status": "Final",
"competition": "Premier League",
"match_date": "2025-03-10"
}
}
}{
"sports_results": {
"league": "Bundesliga",
"standings": [
{
"position": 1,
"team": "Bayern Munich",
"points": 68
},
{
"position": 2,
"team": "Borussia Dortmund",
"points": 64
}
]
}
}For live score tracking systems:
- Poll match queries at controlled intervals
- Store responses with timestamps
- Compare score values between requests
- Trigger updates when changes occur
Because Google updates sports widgets in real time, polling intervals should be optimized to avoid unnecessary requests.
This approach works well for:
• Building sports dashboards
• Monitoring league standings
• Creating match tracking tools
• Feeding sports results into analytics systems
• Collecting publicly visible sports data
• Automating sports news summaries
It is not designed to replace official licensed sports feeds with deep historical statistics. Instead, it extracts exactly what users see in Google Search.
When deploying a sports data pipeline:
• Implement retry logic
• Respect rate limits
• Normalize team names
• Handle timezone differences
• Cache repeated queries
• Store historical snapshots for trend analysis
Google Search already aggregates sports information in structured widgets. The Google Sports Results API allows you to programmatically access that data without maintaining scraping infrastructure.
If you need a flexible sports data API powered by Google search results, this repository provides a clean and developer-friendly starting point.