Golfbox Rankings Scraper API

Golf.dk publishes DGU Birdie Points rankings through a public JSON API. This Actor returns player and club ranking rows — position, points, handicap, region, members, average points — as a dataset.

Danish golf rankings move daily. Your spreadsheet doesn't.

Golf clubs in Denmark compete on numbers: how many members, how good they are, and how their Birdie Points trend across a season. The Danish Golf Union publishes all of it on golf.dk through GolfBox — player rankings and club rankings, updated daily, free to view.

Free to view is not the same as usable. It is a table on a web page, ordered by a filter you have to click, and every week of the season overwrites the week before. If you want to know whether your club climbed or slid, you needed to have copied it down before it changed.

The table is an API response

The golf.dk front end loads those rankings from a public JSON endpoint. There is no login, no anti-bot wall, and no rendering work — the ranking arrives as records with positions already assigned.

One dataset, two list types, distinguished by listType:

Player ranking (?type=player, the default)

  • position, name, points (Birdie Points), hcp, region

Club ranking (?type=club)

  • clubName, clubMembers, clubAveragePoints

Both carry the source page URL, so a row can always be traced back to the page it came from. Pass both URLs in a single run and you get players and clubs in one dataset; a ?page=N start value is honoured if you want to start deeper in the list.

Three jobs it fits

  1. Club benchmarking. Compare average Birdie Points and member counts across every Danish club, rather than the handful you happen to know.
  2. Season tracking. The list updates daily. Schedule a run and the movement between two dates becomes a query instead of an anecdote.
  3. Player research. Follow a handicap band or a region over time — who is improving, and by how much.

What it will not do

It reads the public ranking lists. No handicap certificates, no scorecards, no member contact details, no tee times. If it is not on the ranking page, it is not in the dataset.

GolfBox powers clubs in several countries, but this Actor is built against the golf.dk section pages — point it at other domains and the request shapes will not match.

Run it

Run Golfbox Rankings Scraper on Apify.

  1. Paste https://www.golf.dk/sektionsside/dgu-ranglister — and the same URL with ?type=club for clubs.
  2. Set a maximum row count per URL (default 100).
  3. Export JSON, CSV or Excel, or schedule a daily snapshot.

It is pay-per-event: you pay for ranking rows returned, not for empty runs. Because the source needs neither a browser nor a proxy, runs are quick and cheap enough to leave on a daily schedule for a whole season.

The general shape — a public federation table that only becomes useful once you can diff it — is the same one behind price monitoring and cross-market comparisons. Sports rankings are just prices with a different unit.