Livesport Scores & Fixtures Scraper
Pricing
Pay per event
Livesport Scores & Fixtures Scraper
Extract live scores, fixtures, final results, league metadata, team IDs, match URLs, and optional odds-link context from Livesport scoreboards.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract live scores, fixtures, final results, league metadata, team IDs, match URLs, and optional odds-link context from public Livesport scoreboards.
What does Livesport Scores & Fixtures Scraper do?
Livesport Scores & Fixtures Scraper turns public Livesport scoreboard feeds into clean Apify dataset rows.
It is built for recurring sports monitoring workflows where teams need structured match data without manually checking the Livesport website.
The actor can collect:
- โฝ today's soccer scoreboard
- ๐ upcoming fixtures
- โ finished results
- ๐ด live matches
- ๐ country and league metadata
- ๐ฅ home and away team names
- ๐ข current or final scores
- ๐งฉ period score fragments when available
- ๐ match and league URLs
- ๐ธ optional odds/bookmaker link context
Who is it for?
Sports analytics teams
Use the actor to collect daily fixtures and results for downstream models, dashboards, or quality-control checks.
Betting research teams
Monitor public scoreboards, match IDs, team metadata, and optional bookmaker links for pre-match or post-match workflows.
Fantasy and media teams
Track schedules and final results across leagues so editors and fantasy operations can prepare alerts and coverage.
Data engineering teams
Run it on a schedule, export JSON/CSV, and load match rows into a warehouse.
Why use this actor?
Livesport is broad, fast, and widely used by sports fans.
This actor focuses on the stable public scoreboard feed instead of expensive browser automation.
That means:
- lower compute costs
- faster runs
- fewer moving browser parts
- predictable dataset columns
- simple scheduled monitoring
Data fields
| Field | Description |
|---|---|
sportId | Livesport numeric sport ID |
sportName | Sport slug/name used for generated URLs |
country | Country or category name |
league | Competition name |
leagueUrl | Public Livesport league URL when present |
tournamentId | Feed tournament identifier |
matchId | Livesport match identifier |
matchUrl | Generated public match URL |
homeTeam | Home participant name |
awayTeam | Away participant name |
homeTeamId | Feed home team ID |
awayTeamId | Feed away team ID |
homeScore | Current/final home score when available |
awayScore | Current/final away score when available |
homePeriodScores | Period score fragments for home side |
awayPeriodScores | Period score fragments for away side |
statusCode | Raw Livesport status code |
statusText | Human-readable status bucket |
startTimestamp | ISO start time |
startTimestampUnix | Unix start time in seconds |
homeSlug | Home team slug |
awaySlug | Away team slug |
homeLogoUrl | Home logo asset URL |
awayLogoUrl | Away logo asset URL |
oddsLinks | Optional bookmaker/link metadata |
sourceFeedUrl | Feed URL used for the row |
scrapedAt | Extraction timestamp |
How much does it cost to scrape Livesport scores and fixtures?
The actor uses pay-per-event pricing.
You pay a small run-start fee and then a per-match event for each dataset row produced.
Because this is an HTTP-first actor, typical scoreboards are designed to be inexpensive compared with browser-based scraping.
Use small maxItems values for testing.
Raise maxItems for complete daily scoreboards or scheduled production runs.
How to use it
- Open the actor on Apify.
- Choose a
sportId. - Keep
sportNamealigned with that sport. - Choose one or more
dateOffsets. - Select
modeif you only need live, finished, or scheduled matches. - Optionally add a country or league filter.
- Run the actor.
- Export the dataset as JSON, CSV, Excel, RSS, or via API.
Input options
sportId
Livesport internal sport ID.
Common values include:
1soccer2tennis3basketball4hockey13baseball16American football
sportName
A readable sport slug used in generated match URLs.
For soccer, leave the default soccer.
dateOffsets
Relative days to scrape.
Examples:
[0]today[-1]yesterday[1]tomorrow[-1, 0, 1]yesterday, today, and tomorrow
mode
Filter after fetching the scoreboard.
Available values:
alllivefinishedscheduled
maxItems
Maximum number of match rows to emit.
countryFilter
Case-insensitive country text filter.
Example: Brazil.
leagueFilter
Case-insensitive league text filter.
Example: Serie B.
includeOddsLinks
When enabled, the actor parses optional Livesport link metadata if present in the feed.
Example input
{"sportId": 1,"sportName": "soccer","dateOffsets": [0],"mode": "all","maxItems": 100,"includeOddsLinks": false}
Example output
{"sportId": 1,"sportName": "soccer","country": "Brazil","league": "Serie B","matchId": "MsKPu55e","matchUrl": "https://www.livesport.com/en/match/soccer/athletic-club-operario-pr/MsKPu55e/","homeTeam": "Athletic Club","awayTeam": "Operario-PR","homeScore": 0,"awayScore": 1,"statusText": "finished","startTimestamp": "2026-07-08T03:00:00.000Z","oddsLinks": []}
Tips for reliable runs
- Start with
maxItems: 100for validation. - Use
dateOffsets: [-1]withmode: finishedfor results. - Use
dateOffsets: [1]withmode: scheduledfor fixtures. - Keep
includeOddsLinksoff unless you need link context. - Use filters after confirming the country and league names in the output.
Integrations
Sports warehouse refresh
Schedule the actor daily and export results to your database.
Betting research notebook
Call the actor from Python and merge match IDs with internal odds or prediction data.
Editorial monitoring
Run the actor every few minutes with mode: live and alert on changed match status.
BI dashboards
Connect the dataset to Google Sheets, Make, Zapier, or your own ETL.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/livesport-scores-fixtures-scraper').call({sportId: 1,sportName: 'soccer',dateOffsets: [0],maxItems: 100});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/livesport-scores-fixtures-scraper').call(run_input={'sportId': 1,'sportName': 'soccer','dateOffsets': [0],'maxItems': 100,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~livesport-scores-fixtures-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"sportId":1,"sportName":"soccer","dateOffsets":[0],"maxItems":100}'
MCP usage
Use this actor from Claude or other MCP-compatible tools through Apify MCP.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/livesport-scores-fixtures-scraper
Claude Code setup:
$claude mcp add apify-livesport https://mcp.apify.com/?tools=automation-lab/livesport-scores-fixtures-scraper
Claude Desktop JSON config:
{"mcpServers": {"apify-livesport": {"url": "https://mcp.apify.com/?tools=automation-lab/livesport-scores-fixtures-scraper"}}}
Example prompts:
- "Scrape today's soccer fixtures from Livesport and summarize matches by country."
- "Get finished Livesport soccer results from yesterday and return CSV-ready rows."
- "Monitor live Livesport soccer matches and flag games with non-null scores."
Related scrapers
Other automation-lab actors that may complement this workflow:
- https://apify.com/automation-lab/espn-news-scraper
- https://apify.com/automation-lab/ufcstats-scraper
- https://apify.com/automation-lab/google-news-scraper
Limitations
The MVP focuses on scoreboard rows.
It does not yet open every match detail tab for lineups, incidents, or statistics.
Public feed structure can change.
When Livesport does not include a field in the scoreboard feed, the actor returns null or an empty array.
Legality
This actor extracts publicly available data.
Always use it responsibly and respect Livesport terms, robots guidance, and applicable laws.
Do not collect personal data unless you have a lawful basis.
FAQ
Why did I get fewer rows than expected?
Check maxItems, mode, countryFilter, and leagueFilter.
A restrictive filter can remove rows after the feed is fetched.
Why are odds links empty?
Livesport only includes link metadata for some matches and regions.
Set includeOddsLinks to true if you need this optional field.
Why are scores null for fixtures?
Scheduled fixtures usually do not have scores yet.
Use mode: finished for final result rows.
Changelog
0.1
Initial HTTP-first Livesport scoreboard scraper with date offsets, status filtering, league/team metadata, scores, match URLs, and optional odds links.
Support
If you need another sport ID, additional match-detail tabs, or a new output field, open an Apify issue on the actor page with an example Livesport URL and desired dataset columns.