BoardGameGeek (BGG) Board Game Scraper avatar

BoardGameGeek (BGG) Board Game Scraper

Pricing

Pay per event

Go to Apify Store
BoardGameGeek (BGG) Board Game Scraper

BoardGameGeek (BGG) Board Game Scraper

Scrape BoardGameGeek game data including rankings, ratings, categories, mechanics, designers, and more. Supports hot list, keyword search, and direct game ID lookup. Uses residential proxies to bypass BGG's datacenter IP blocks.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Scrape board game data from BoardGameGeek — the world's largest board game database with 140,000+ games and 6 million monthly active users. Extract game metadata including categories, mechanics, designers, publishers, alternate names, and more.

What this actor does

This actor retrieves structured board game data from BGG's internal JSON API using residential proxy routing to bypass BGG's datacenter IP blocks (the reason the 3 existing BGG scrapers on Apify plateaued at 2 users each).

Three scraping modes are supported:

  • hot — Fetch the top-50 hottest board games from the BGG hotness list. Includes the current BGG rank for each game. Best for weekly trend snapshots.
  • search — Search for board games by keyword (e.g. "Wingspan", "dungeon crawler", "deck building"). Returns up to maxItems matching games with full metadata. Note: this endpoint uses boardgamegeek.com which is protected by Cloudflare; results depend on proxy IP quality.
  • thing_ids — Fetch specific games by their BGG IDs. The most reliable mode — use it when you have a known list of BGG game IDs.

Input configuration

FieldTypeDescription
modestringScraping mode: hot, search, or thing_ids (default: hot)
searchQuerystringSearch keyword — required when mode is search
bggIdsarrayBGG game IDs to fetch — required when mode is thing_ids
maxItemsintegerMaximum records to return (default: 50)
proxyConfigurationobjectProxy config — residential proxy strongly recommended for BGG

Example inputs

Hot list (top trending games):

{
"mode": "hot",
"maxItems": 50,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Search by keyword:

{
"mode": "search",
"searchQuery": "Wingspan",
"maxItems": 20,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Specific games by ID:

{
"mode": "thing_ids",
"bggIds": [174430, 266192, 13, 161936],
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Output format

Each record contains:

FieldTypeDescription
bgg_idintegerBoardGameGeek game ID
game_namestringPrimary English game name
alternate_namesstringAll alternate/translated names (pipe-separated)
year_publishedintegerPublication year
descriptionstringShort game description (HTML stripped)
image_urlstringHigh-resolution game image URL
thumbnail_urlstringThumbnail image URL
min_playersintegerMinimum player count
max_playersintegerMaximum player count
playing_time_minintegerMinimum play time in minutes
playing_time_maxintegerMaximum play time in minutes
min_ageintegerMinimum recommended age
categoriesstringGame categories (pipe-separated, e.g. "Fantasy|Adventure")
mechanicsstringGame mechanics (pipe-separated, e.g. "Deck Building|Worker Placement")
familiesstringGame families (pipe-separated)
designersstringGame designers (pipe-separated)
artistsstringIllustrators/artists (pipe-separated)
publishersstringPublishers (pipe-separated)
bgg_rank_overallintegerBGG overall rank (populated in hot mode from hotness list)
expansion_ofstringBGG IDs of base games this expands (pipe-separated)
implementsstringBGG IDs of games this reimplements (pipe-separated)
scraped_atstringISO 8601 scrape timestamp

Note: Rating and popularity statistics (average_rating, bayes_average_rating, num_owned, num_ratings, weight, etc.) require BGG's Application Token (their XML API v2 authentication system) and are returned as null. The game metadata above is fully available via the JSON API.

Example output

{
"bgg_id": 266192,
"game_name": "Wingspan",
"alternate_names": "Flügelschlag|Крылья|Wingspan: Pájaros para Todos|展翅翱翔",
"year_published": 2019,
"description": "Attract a beautiful and diverse collection of birds to your wildlife preserve.",
"image_url": "https://cf.geekdo-images.com/yLZJCVLlIx4c7eJEWUNJ7w__itemrep@2x/...",
"thumbnail_url": "https://cf.geekdo-images.com/yLZJCVLlIx4c7eJEWUNJ7w__itemrep/...",
"min_players": 1,
"max_players": 5,
"playing_time_min": 40,
"playing_time_max": 70,
"min_age": 10,
"categories": "Animals|Card Game|Economic",
"mechanics": "Card Drafting|Deck Building|Engine Building|Hand Management|Set Collection",
"families": "Animals: Birds|Game: Wingspan Universe",
"designers": "Elizabeth Hargrave",
"artists": "Ana Maria Martinez Jaramillo|Natalia Rojas|Beth Sobel",
"publishers": "Stonemaier Games",
"bgg_rank_overall": null,
"expansion_of": null,
"scraped_at": "2026-05-26T14:30:00.000Z"
}

Use cases

  • Board game retailers and cafes — research inventory, track trending titles, identify popular mechanics and themes
  • Tabletop industry analysts — competitive intelligence for publishers (Asmodee, CMON, Z-Man, Stonemaier)
  • Recommendation engines — seed a game recommendation dataset with categories, mechanics, and designer data
  • Market researchers — track BGG hotness trends weekly; correlate with sales data
  • Game designers — analyze mechanics and categories across top-ranked games
  • List import tools — import your BGG collection or wishlist into spreadsheets or inventory systems

Technical notes

  • Uses BGG's internal api.geekdo.com JSON API (not the XML API v2 which requires Application Token registration)
  • DataImpulse residential proxy routes traffic to bypass BGG's datacenter IP blocks
  • Rate-limited to approximately 1.4 requests/second to respect BGG's infrastructure
  • search mode uses boardgamegeek.com/geeksearch.php which is behind Cloudflare — residential proxy quality affects success rate
  • thing_ids and hot modes use api.geekdo.com which has no CF protection and is highly reliable