Eurovision Results & Scoreboards
Pricing
from $0.85 / 1,000 country or votes
Eurovision Results & Scoreboards
Extract Eurovision Song Contest rankings, running order, total points, jury points, public points, and optional country-by-country vote details.
Pricing
from $0.85 / 1,000 country or votes
Rating
0.0
(0)
Developer
Trove Vault
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
1
Monthly active users
23 days ago
Last modified
Categories
Share
What does Eurovision Results & Scoreboards do?
Eurovision Results & Scoreboards returns normalized Eurovision Song Contest result rows for selected years and stages.
The default output is intentionally compact: one row per country in the selected stage, with rank, country, artist, song, running order, total points, and jury/public splits when records provide them. Country-by-country vote details are optional and are written to a separate Vote Details dataset.
The actor focuses on the senior Eurovision Song Contest. Junior Eurovision is not included in this version.
Why use Eurovision Results & Scoreboards?
Use this actor when you need a repeatable Eurovision dataset for dashboards, spreadsheets, editorial research, contest-week reporting, fan analytics, or data pipelines.
Main capabilities:
- Export Eurovision final and semi-final result rows from 1956 onward.
- Default to final-only output to reduce duplication and cost.
- Include country, artist, song, running order, rank, qualification status, and points.
- Include public and jury point splits when contest records provide them.
- Optionally include country-by-country vote details for detailed analysis.
- Append rows into an existing Apify dataset with
datasetId. - Add your own workflow identifier with
runId.
What data can it extract?
| Field | Type | Description |
|---|---|---|
rowType | string | result or entry |
contestYear | number | Eurovision Song Contest year |
stageName | string | final, semifinal1, semifinal2, or entry_list |
countryCode, countryName | string | Competing country |
artistName, songTitle | string | Entry metadata |
runningOrder | number | Running order in the selected stage |
place | number | Stage ranking |
qualifiedForFinal | boolean | Whether a semi-finalist reached the final |
totalPoints, publicPoints, juryPoints | number | Aggregated result points |
pointsBreakdown | string | jury_public_split, total_only, or not_available |
dataStatus | string | Normalized data status |
warnings | array | Notes about incomplete or ambiguous contest records |
runId | string | Optional workflow identifier copied from input |
How to use it
- Set Start Year and End Year.
- Keep Stages as Final only for the cleanest default dataset.
- Choose All stages or Semi-finals only when you need those stage rows.
- Leave Include Country-by-country Votes disabled for compact exports.
- Enable Include Country-by-country Votes only when you need voter-by-voter scoreboards.
- Run the actor and download the dataset as JSON, CSV, Excel, XML, or HTML.
Input
Example input:
{"startYear": 2025,"endYear": 2025,"stages": ["final"],"includeVoteDetails": false}
For full contest research, set stages to ["all"]. A country that appears in a semi-final and the final will then have one result row for each stage. Enable includeVoteDetails only when you need the separate Vote Details dataset.
Output
Default result row:
{"rowType": "result","dataStatus": "historical_records","contestYear": 2025,"contestName": "Eurovision Song Contest 2025","stageName": "final","stageDate": "2025-05-17T00:00:00.000Z","countryCode": "AT","countryName": "Austria","artistName": "JJ","songTitle": "Wasted Love","runningOrder": 9,"place": 1,"qualifiedForFinal": true,"totalPoints": 436,"publicPoints": 178,"juryPoints": 258,"pointsBreakdown": "jury_public_split"}
When includeVoteDetails is enabled, votes are written to the separate Vote Details dataset:
{"rowType": "vote","contestYear": 2025,"stageName": "final","countryName": "Austria","artistName": "JJ","songTitle": "Wasted Love","place": 1,"voteType": "jury","fromCountryName": "Sweden","points": 12}
API usage example
curl "https://api.apify.com/v2/acts/trovevault~eurovision-results-scoreboards/runs?waitForFinish=120" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startYear": 2025,"endYear": 2025,"stages": ["final"],"includeVoteDetails": false}'
Data semantics
Rows are stage-specific.
resultrows are the main output: one country in one selected stage.entryrows are emitted only when entry records are available but no stage result exists yet.- Country-by-country votes are written only to the
Vote Detailsdataset when Include Country-by-country Votes is enabled. The defaultEurovision Resultsdataset stays one row per country and stage.
The actor does not emit separate contest edition rows. Host metadata is intentionally excluded from the default dataset because it created sparse rows and duplicated result context.
Older contests may only have totalPoints. Modern finals commonly include publicPoints and juryPoints. The pointsBreakdown field tells you whether a row has jury_public_split, total_only, or not_available scoring.
Data Coverage
The actor normalizes public Eurovision contest records into clean Apify datasets. Fallback records may be used for recent years when the main historical records are not yet complete.
Limitations
This actor covers the senior Eurovision Song Contest only. It does not include Junior Eurovision, national finals, rehearsals, odds, lyrics, Spotify metrics, YouTube metrics, or broadcaster news.
TroveVault normalizes public contest records but does not certify legal finality, voting-rule interpretation, or completeness beyond available public records. Fallback rows are labeled with dataStatus and warnings so downstream users can handle incomplete records.
Some historical years do not include jury/public splits because those fields were not present in the contest records or did not apply to the contest format.
FAQ
Does this actor include Junior Eurovision?
No. This version is scoped to the senior Eurovision Song Contest.
Can I export only finals?
Yes. Final only is the default.
Why are some public or jury fields empty?
Older contests and some fallback records only expose total points. The actor does not invent splits when records do not provide them reliably.
How do I avoid large runs?
Keep Include Country-by-country Votes disabled and keep Stages set to Final only.
Can I append results to another dataset?
Yes. Fill datasetId to append the same rows to another Apify dataset in addition to the default run dataset.
Changelog
0.1
Initial version with normalized Eurovision final and semi-final result rows, optional vote-detail scoreboards, and labeled fallback support.