Skip to content

ScrapingBee/google-sports-results-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Google Sports Results API

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.

What This API Extracts

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.

How It Works

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.

Example: Fetch Live Match Data (cURL)

curl "https://app.scrapingbee.com/api/v1/?api_key=YOUR_API_KEY&search=google&q=Manchester+United+vs+Liverpool&country_code=uk"

Example: Fetch League Standings (cURL)

curl "https://app.scrapingbee.com/api/v1/?api_key=YOUR_API_KEY&search=google&q=Bundesliga+standings&country_code=de"

Python Example

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)

Node.js Example

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();

Request Parameters

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

Example JSON – Match Result

{
  "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"
    }
  }
}

Example JSON – League Table

{
  "sports_results": {
    "league": "Bundesliga",
    "standings": [
      {
        "position": 1,
        "team": "Bayern Munich",
        "points": 68
      },
      {
        "position": 2,
        "team": "Borussia Dortmund",
        "points": 64
      }
    ]
  }
}

Real-Time Monitoring Strategy

For live score tracking systems:

  1. Poll match queries at controlled intervals
  2. Store responses with timestamps
  3. Compare score values between requests
  4. Trigger updates when changes occur

Because Google updates sports widgets in real time, polling intervals should be optimized to avoid unnecessary requests.

When to Use This Google Sports API

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.

Production Best Practices

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

Closing Thoughts

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.

About

Extract live scores, match results, and league standings directly from Google Search. A flexible sports data API for scraping Google sports results and integrating real-time sports insights into your applications.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors