made changes

This commit is contained in:
KoenDR06 2025-12-27 13:48:06 +01:00
parent 7813a44af0
commit f7cc4c9a5c
4 changed files with 798 additions and 59 deletions

663
server.js
View file

@ -10,6 +10,665 @@ app.get("/", (req, res) => {
res.sendFile(path.resolve('./index.html'))
})
app.get('/ranking', async (req, res) => {
// const ranking = await (await fetch("https://www.nporadio2.nl/api/charts/npo-radio-2-top-2000-van-2025-12-25", {})).json();
res.send({
"chartDate": "2025-12-25 00:00:00",
"editionIsActive": true,
"downloadUrls": {
"excelUrl": "https://cms-assets.nporadio.nl/npoRadio2/TOP2000-2025.xls?v=1765830938",
"pdfUrl": "https://cms-assets.nporadio.nl/npoRadio2/NPO-Radio-2-Top-2000-2025.pdf?v=1765831780"
},
"positions": [
{
"broadcastTime": "2025-12-27T15:08:15+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 15:00 - 16:00 uur",
"broadcastUnixTime": 1766844495000,
"id": "6f4ca036-438f-4932-b048-04cf12995060",
"position": {
"current": 1201,
"label": "-68",
"previous": 1133,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Snowy White",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/e8b0c345-b123-4a84-a472-29298d4dc7ed__Bird-Of-Paradise.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/6f4ca036-438f-4932-b048-04cf12995060/bird-of-paradise",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/snowy-white/bird-of-paradise",
"id": "6f4ca036-438f-4932-b048-04cf12995060",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/4bedf26f99d7c5d2072f301ca852a9375398d867?cid=e10971e8edab41f8b0986464de19b8f3",
"title": "Bird Of Paradise"
}
},
{
"broadcastTime": "2025-12-27T15:05:00+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 15:00 - 16:00 uur",
"broadcastUnixTime": 1766844300000,
"id": "a7ef1907-c656-4bd2-8fbd-248add9c1222",
"position": {
"current": 1202,
"label": "-79",
"previous": 1123,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Crosby, Stills, Nash & Young",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/db03712e-7235-45ef-8371-f1ed5afc4e71__Teach-Your-Children.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/a7ef1907-c656-4bd2-8fbd-248add9c1222/teach-your-children",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/crosby-stills-nash-young/teach-your-children",
"id": "a7ef1907-c656-4bd2-8fbd-248add9c1222",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/a4b0d977cac5cf760933592681cb865231133142?cid=e10971e8edab41f8b0986464de19b8f3",
"title": "Teach Your Children"
}
},
{
"broadcastTime": "2025-12-27T14:51:52+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766843512000,
"id": "4db20c37-c402-45c2-b90d-8cab3a8fd593",
"position": {
"current": 1203,
"label": "-137",
"previous": 1066,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Beth Hart & Joe Bonamassa",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/18f83c48-a15f-440c-b85f-5b8bcf051d48__I-ll-Take-Care-Of-You.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/4db20c37-c402-45c2-b90d-8cab3a8fd593/ill-take-care-of-you",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/beth-hart-joe-bonamassa/ill-take-care-of-you-albumversie",
"id": "4db20c37-c402-45c2-b90d-8cab3a8fd593",
"isAvailable": true,
"previewUrl": null,
"title": "I'll Take Care Of You (Albumversie)"
}
},
{
"broadcastTime": "2025-12-27T14:47:50+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766843270000,
"id": "e88bbf6c-a39a-4334-9575-039077721319",
"position": {
"current": 1204,
"label": "-55",
"previous": 1149,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Kaleo",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/be57f7e6-f541-471d-88e1-cda0cfd54550__Kaleo-0.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/e88bbf6c-a39a-4334-9575-039077721319/way-down-we-go",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/kaleo/way-down-we-go",
"id": "e88bbf6c-a39a-4334-9575-039077721319",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/d98c7057adac754607c1a2ab8c72113c3e7a2338?cid=e10971e8edab41f8b0986464de19b8f3",
"title": "Way Down We Go"
}
},
{
"broadcastTime": "2025-12-27T14:41:31+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766842891000,
"id": "184d9d04-27e2-46e0-b42f-8db9599dc4e9",
"position": {
"current": 1205,
"label": "+483",
"previous": 1688,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Michael Jackson",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/47fd63a8-800b-45f8-afa6-1b00a330c535__Don-t-Stop-til-You-Get-Enough.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/184d9d04-27e2-46e0-b42f-8db9599dc4e9/dont-stop-til-you-get-enough",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/michael-jackson/dont-stop-til-you-get-enough-albumversie",
"id": "184d9d04-27e2-46e0-b42f-8db9599dc4e9",
"isAvailable": true,
"previewUrl": null,
"title": "Don't Stop 'Til You Get Enough (Albumversie)"
}
},
{
"broadcastTime": "2025-12-27T14:37:20+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766842640000,
"id": "01978d13-e960-73d9-ac0f-10889762874d",
"position": {
"current": 1206,
"label": "-10",
"previous": 1196,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Rammstein",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/a6bf6875-56bb-448b-b4e4-b7ec4cfa1749__AMERIKA.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/01978d13-e960-73d9-ac0f-10889762874d/amerika",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/rammstein/amerika",
"id": "01978d13-e960-73d9-ac0f-10889762874d",
"isAvailable": true,
"previewUrl": null,
"title": "Amerika"
}
},
{
"broadcastTime": "2025-12-27T14:31:49+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766842309000,
"id": "6677b744-b8c5-4095-870f-732488e9d7f6",
"position": {
"current": 1207,
"label": "-92",
"previous": 1115,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Carole King",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/48a6fc6c-406f-4ecb-903a-664816c8332a__You-ve-Got-A-Friend.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/6677b744-b8c5-4095-870f-732488e9d7f6/youve-got-a-friend",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/carole-king/youve-got-a-friend",
"id": "6677b744-b8c5-4095-870f-732488e9d7f6",
"isAvailable": true,
"previewUrl": "https://assets.stemtool.npox.nl/audio/382/c-624e2d14d6f182bc79083a372e277ded-6.mp3?v=1725881570",
"title": "You've Got A Friend"
}
},
{
"broadcastTime": "2025-12-27T14:27:45+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766842065000,
"id": "2be29add-afef-447c-af86-41bc90b47f3c",
"position": {
"current": 1208,
"label": "+321",
"previous": 1529,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Normaal",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/8dc9855f-f807-4731-9f01-49fa5b19186a__ikbun.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/2be29add-afef-447c-af86-41bc90b47f3c/ik-bun-moar-een-eenvoudige-boerenlul",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/normaal/ik-bun-moar-een-eenvoudige-boerenlul",
"id": "2be29add-afef-447c-af86-41bc90b47f3c",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/3b532e7f39c38b02ce0804d177173c94a9c16458?cid=19f7f13455664bcab5373cb63d176694",
"title": "Ik Bun Moar Een Eenvoudige Boerenlul"
}
},
{
"broadcastTime": "2025-12-27T14:23:19+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766841799000,
"id": "ed0818ac-2c6d-4cf6-983a-9125d18c871b",
"position": {
"current": 1209,
"label": "-132",
"previous": 1077,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Temple Of The Dog",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/8785ddb5-fde6-4382-877d-61192b18ea53__Hunger-Strike.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/ed0818ac-2c6d-4cf6-983a-9125d18c871b/hunger-strike",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/temple-of-the-dog/hunger-strike",
"id": "ed0818ac-2c6d-4cf6-983a-9125d18c871b",
"isAvailable": true,
"previewUrl": "https://assets.stemtool.npox.nl/audio/7420/c-d2f6dbf57ba43a2ce6a880d01e0924cb-4.mp3?v=1726670780",
"title": "Hunger Strike"
}
},
{
"broadcastTime": "2025-12-27T14:19:31+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766841571000,
"id": "0197396d-e247-702b-9e36-76524e91b54f",
"position": {
"current": 1210,
"label": "-314",
"previous": 896,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Red Hot Chili Peppers",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/7a409ed7-4ab2-4ea1-a307-7e7081f2a012__Road-Trippin.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/0197396d-e247-702b-9e36-76524e91b54f/road-trippin",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/red-hot-chili-peppers/road-trippin",
"id": "0197396d-e247-702b-9e36-76524e91b54f",
"isAvailable": true,
"previewUrl": null,
"title": "Road Trippin'"
}
},
{
"broadcastTime": "2025-12-27T14:15:17+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766841317000,
"id": "085923f8-8e0b-4764-8077-49efde92b2c8",
"position": {
"current": 1211,
"label": "-186",
"previous": 1025,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Depeche Mode",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/03c66f3f-4cea-4921-8cc8-0bae5493bb55__Just-Can-t-Get-Enough.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/085923f8-8e0b-4764-8077-49efde92b2c8/just-cant-get-enough",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/depeche-mode/just-cant-get-enough-live",
"id": "085923f8-8e0b-4764-8077-49efde92b2c8",
"isAvailable": true,
"previewUrl": null,
"title": "Just Can't Get Enough (Live)"
}
},
{
"broadcastTime": "2025-12-27T14:09:41+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766840981000,
"id": "703dd67b-c81b-48cd-9faf-cfcfece72f43",
"position": {
"current": 1212,
"label": "-84",
"previous": 1128,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Paul McCartney & Wings",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/eca307ce-aa89-4252-a586-9b5a0b6cba6a__Band-On-The-Run.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/703dd67b-c81b-48cd-9faf-cfcfece72f43/band-on-the-run",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/paul-mccartney-wings/band-on-the-run",
"id": "703dd67b-c81b-48cd-9faf-cfcfece72f43",
"isAvailable": true,
"previewUrl": "https://assets.stemtool.npox.nl/audio/3223/c-673f51dffb08f804ba20f033a68a36cc-6.mp3?v=1725882494",
"title": "Band On The Run"
}
},
{
"broadcastTime": "2025-12-27T14:05:00+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 14:00 - 15:00 uur",
"broadcastUnixTime": 1766840700000,
"id": "744695e9-65c3-4952-ad4e-aa1303194809",
"position": {
"current": 1213,
"label": "+206",
"previous": 1419,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Live",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/069b9569-749b-4d1d-842f-b7ffa830e890__The-Dolphin-s-Cry.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/744695e9-65c3-4952-ad4e-aa1303194809/the-dolphins-cry",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/live/the-dolphins-cry",
"id": "744695e9-65c3-4952-ad4e-aa1303194809",
"isAvailable": true,
"previewUrl": "https://assets.stemtool.npox.nl/audio/6069/c-e5613c8e9fc457ba934245a41c17b13c-10.mp3?v=1726670475",
"title": "The Dolphin's Cry"
}
},
{
"broadcastTime": "2025-12-27T13:53:52+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766840032000,
"id": "effa8e82-a30f-44ec-9a8e-e39f26d673ba",
"position": {
"current": 1214,
"label": "+112",
"previous": 1326,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Lee Towers",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/999335b3-104f-4fd6-9ef5-89995013dff9__Lee-Towers.jpg?aspect_ratio=501%3A500&width=500&height=500",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/lee-towers/youll-never-walk-alone",
"id": "effa8e82-a30f-44ec-9a8e-e39f26d673ba",
"isAvailable": false,
"previewUrl": "https://assets.stemtool.npox.nl/audio/3503/c-21a78d481b33c0835916b64c97da9e55-5.mp3?v=1725882662",
"title": "You'll Never Walk Alone"
}
},
{
"broadcastTime": "2025-12-27T13:49:55+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766839795000,
"id": "33529033-d41a-4989-9f7b-8a3cde2c7713",
"position": {
"current": 1215,
"label": "-23",
"previous": 1192,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Madness",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/df9b191a-8bc0-4b49-be74-bca0267a4597__Our-House.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/33529033-d41a-4989-9f7b-8a3cde2c7713/our-house",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/madness/our-house",
"id": "33529033-d41a-4989-9f7b-8a3cde2c7713",
"isAvailable": true,
"previewUrl": null,
"title": "Our House"
}
},
{
"broadcastTime": "2025-12-27T13:45:05+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766839505000,
"id": "2aef0127-2a14-4acf-bd03-fd47307be9bb",
"position": {
"current": 1216,
"label": "+671",
"previous": 1887,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Golden Earring",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/50ae3f52-5f44-427c-a941-2781e36f7208__Weekend-Love.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/2aef0127-2a14-4acf-bd03-fd47307be9bb/weekend-love",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/golden-earring/weekend-love",
"id": "2aef0127-2a14-4acf-bd03-fd47307be9bb",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/c496cd2634741a1f07297d825beedf6ceaf2690e?cid=e10971e8edab41f8b0986464de19b8f3",
"title": "Weekend Love"
}
},
{
"broadcastTime": "2025-12-27T13:40:14+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766839214000,
"id": "15984792-6bce-4ceb-9d33-dccecdf6fd60",
"position": {
"current": 1217,
"label": "-80",
"previous": 1137,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Heart",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/5ffe2ce6-d704-4d5a-acb6-bb18ff2f13e0__Crazy-On-You.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/15984792-6bce-4ceb-9d33-dccecdf6fd60/crazy-on-you",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/heart/crazy-on-you",
"id": "15984792-6bce-4ceb-9d33-dccecdf6fd60",
"isAvailable": true,
"previewUrl": "https://assets.stemtool.npox.nl/audio/2326/c-e635161f60fc50d78cf48c004273a98b-5.mp3?v=1725882298",
"title": "Crazy On You"
}
},
{
"broadcastTime": "2025-12-27T13:37:36+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766839056000,
"id": null,
"position": {
"current": 1218,
"label": "+654",
"previous": 1872,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "The Beatles",
"coverUrl": null,
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/the-beatles/sgt-peppers-lonely-hearts-club-band",
"id": null,
"isAvailable": false,
"previewUrl": null,
"title": "Sgt. Pepper's Lonely Hearts Club Band"
}
},
{
"broadcastTime": "2025-12-27T13:33:26+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766838806000,
"id": "0196fa5d-96e3-73ac-ac1c-7196f2c7d7f1",
"position": {
"current": 1219,
"label": "-126",
"previous": 1093,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Keane",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/44586fa9-a0b5-438d-b0df-01a2a5c516a3__Everybody-s-Changing.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/0196fa5d-96e3-73ac-ac1c-7196f2c7d7f1/everybodys-changing",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/keane/everybodys-changing",
"id": "0196fa5d-96e3-73ac-ac1c-7196f2c7d7f1",
"isAvailable": true,
"previewUrl": null,
"title": "Everybody's Changing"
}
},
{
"broadcastTime": "2025-12-27T13:28:55+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766838535000,
"id": "f08f3125-bcd7-441b-890b-43000b508e84",
"position": {
"current": 1220,
"label": "+55",
"previous": 1275,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Kim Wilde",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/5e4eaca7-af95-48f8-a39d-b1469f75291b__Cambodia.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/f08f3125-bcd7-441b-890b-43000b508e84/cambodia",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/kim-wilde/cambodia",
"id": "f08f3125-bcd7-441b-890b-43000b508e84",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/a7e79e67acda3f841498e2de39524a3ebfaec71f?cid=e10971e8edab41f8b0986464de19b8f3",
"title": "Cambodia"
}
},
{
"broadcastTime": "2025-12-27T13:23:57+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766838237000,
"id": "731979b1-8161-450c-8b33-407abd1c3260",
"position": {
"current": 1221,
"label": "-189",
"previous": 1032,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "Eminem & Rihanna",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/69d0ef3c-ce86-4977-89d6-a94ca95b21ca__ab67616d0000b273900afe4507ebed53340370e9.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/731979b1-8161-450c-8b33-407abd1c3260/love-the-way-you-lie",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/eminem-rihanna/love-the-way-you-lie",
"id": "731979b1-8161-450c-8b33-407abd1c3260",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/7a10fb23288965b683412c1fad19a9d6705b1702?cid=19f7f13455664bcab5373cb63d176694",
"title": "Love The Way You Lie"
}
},
{
"broadcastTime": "2025-12-27T13:18:39+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766837919000,
"id": "5a960895-87ec-4beb-86c2-0c3d70d8ce62",
"position": {
"current": 1222,
"label": "+223",
"previous": 1445,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Whitney Houston",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/47c92d62-d525-479a-850b-164b42f8282f__I-Have-Nothing.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/5a960895-87ec-4beb-86c2-0c3d70d8ce62/i-have-nothing",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/whitney-houston/i-have-nothing",
"id": "5a960895-87ec-4beb-86c2-0c3d70d8ce62",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/c0f4dcce1ca7f6142d709185db1ffa44ff2d4d4a?cid=e10971e8edab41f8b0986464de19b8f3",
"title": "I Have Nothing"
}
},
{
"broadcastTime": "2025-12-27T13:13:29+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766837609000,
"id": "9cc4ea52-267e-41e7-803f-e6c073563c36",
"position": {
"current": 1223,
"label": "Nieuw",
"previous": 0,
"type": "new"
},
"totalPositions": 1,
"track": {
"artist": "Chris Stapleton & Dua Lipa",
"coverUrl": null,
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/chris-stapleton-dua-lipa/think-im-in-love-with-you-live-from-the-59th-acm-awards",
"id": "9cc4ea52-267e-41e7-803f-e6c073563c36",
"isAvailable": false,
"previewUrl": null,
"title": "Think I'm In Love with You (Live from the 59th ACM Awards)"
}
},
{
"broadcastTime": "2025-12-27T13:08:47+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766837327000,
"id": "149294b8-ffd7-4ac1-9544-3d6191359d3c",
"position": {
"current": 1224,
"label": "+541",
"previous": 1765,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Hozier",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/edc2d36d-6beb-49a3-9a8e-d65d61e38954__Scherm-afbeelding-2024-03-28-om-15-06-37.png?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/149294b8-ffd7-4ac1-9544-3d6191359d3c/too-sweet",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/hozier/too-sweet",
"id": "149294b8-ffd7-4ac1-9544-3d6191359d3c",
"isAvailable": true,
"previewUrl": "https://assets.stemtool.npox.nl/audio/123686/da77b34adced724758a0a5b8ea3269e4.mp3?v=1733413983",
"title": "Too Sweet"
}
},
{
"broadcastTime": "2025-12-27T13:05:00+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 13:00 - 14:00 uur",
"broadcastUnixTime": 1766837100000,
"id": "3e03854f-4b35-442f-94c7-53a3f8c08159",
"position": {
"current": 1225,
"label": "-144",
"previous": 1081,
"type": "fallen"
},
"totalPositions": 1,
"track": {
"artist": "The Black Keys",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/fef71b31-5d67-4381-a26c-c98f9c40373f__Lonely-Boy.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/3e03854f-4b35-442f-94c7-53a3f8c08159/lonely-boy",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/the-black-keys/lonely-boy",
"id": "3e03854f-4b35-442f-94c7-53a3f8c08159",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/6b462b2d89ed30b669470c39c65b0f04d6ac740b?cid=e10971e8edab41f8b0986464de19b8f3",
"title": "Lonely Boy"
}
},
{
"broadcastTime": "2025-12-27T12:53:13+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 12:00 - 13:00 uur",
"broadcastUnixTime": 1766836393000,
"id": "0197448b-9c29-7212-abdc-3d37c5176273",
"position": {
"current": 1226,
"label": "+397",
"previous": 1623,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "S10",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/9b53b46b-2773-45be-9665-b8acdaa90cfe__29c3780d2a4112eec70cccdf4d556c86-300x300x1.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/0197448b-9c29-7212-abdc-3d37c5176273/adem-je-in",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/s10/adem-je-in",
"id": "0197448b-9c29-7212-abdc-3d37c5176273",
"isAvailable": true,
"previewUrl": "https://assets.stemtool.npox.nl/audio/96294/8ff0a2caca813e5be52e0e61e9fdf7e1.mp3?v=1730473658",
"title": "Adem Je In"
}
},
{
"broadcastTime": "2025-12-27T12:48:42+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 12:00 - 13:00 uur",
"broadcastUnixTime": 1766836122000,
"id": "e99d8695-b52e-456c-b89e-e45c2e8e1aaa",
"position": {
"current": 1227,
"label": "+584",
"previous": 1811,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "David Bowie",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/c8da04c4-0d09-4404-946e-a9d0927006cc__The-Man-Who-Sold-The-World.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/e99d8695-b52e-456c-b89e-e45c2e8e1aaa/the-man-who-sold-the-world",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/david-bowie/the-man-who-sold-the-world",
"id": "e99d8695-b52e-456c-b89e-e45c2e8e1aaa",
"isAvailable": true,
"previewUrl": "https://p.scdn.co/mp3-preview/a5087777859441e02ee48409082f9f9713183ca7?cid=e10971e8edab41f8b0986464de19b8f3",
"title": "The Man Who Sold The World"
}
},
{
"broadcastTime": "2025-12-27T12:45:13+01:00",
"broadcastTimeFormatted": "zaterdag 27 dec 2025 12:00 - 13:00 uur",
"broadcastUnixTime": 1766835913000,
"id": "65b4d1e1-4652-4b98-8792-62caa514ab68",
"position": {
"current": 1228,
"label": "+83",
"previous": 1311,
"type": "risen"
},
"totalPositions": 1,
"track": {
"artist": "Boudewijn De Groot",
"coverUrl": "https://npo-artistdb.b-cdn.net/images/2c890071-c9e6-408c-961f-fdce42fc9716__Het-Land-Van-Maas-En-Waal.jpg?aspect_ratio=501%3A500&width=500&height=500",
"detailUrl": "/muziek/nummers/65b4d1e1-4652-4b98-8792-62caa514ab68/het-land-van-maas-en-waal",
"historyUrl": "/top2000/statistieken/door-de-jaren-heen/boudewijn-de-groot/het-land-van-maas-en-waal",
"id": "65b4d1e1-4652-4b98-8792-62caa514ab68",
"isAvailable": true,
"previewUrl": "https://assets.stemtool.npox.nl/audio/38252/c-7a00422cbb7b85b5074199cae8de73b3-3.mp3?v=1729610149",
"title": "Het Land Van Maas En Waal"
}
}
],
"slug": "npo-radio-2-top-2000-van-2025-12-25"
})
// res.send(ranking);
})
app.get('/graph/:artist/:title', async (req, res) => {
const artist = req.params.artist;
const title = req.params.title;
@ -33,6 +692,6 @@ app.get('/trivia/:artist', async (req, res) => {
})
app.listen(3000, () => {
console.log("Listening on port 3000")
app.listen(5438, () => {
console.log("Listening on port 5438")
})