BoardGameGeek (BGG) Board Game Reviews Scraper
Pricing
from $0.90 / 1,000 board games
BoardGameGeek (BGG) Board Game Reviews Scraper
Find hot, top-ranked, or matching BoardGameGeek games and collect full game details. Export public written reviews, ratings, reviewer details, and collection context.
Pricing
from $0.90 / 1,000 board games
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🎲 Find BoardGameGeek games and reviews
Built for game shops, designers, researchers, and board game fans. Find hot or top-ranked games, search by keyword, look up exact games, and save game details or public reviews as structured data.
- Build a list of the best board games with titles, player counts, mechanics, and ratings.
- Export the best board games of all time for research or a guide.
- Save the BGG top 100 as structured data.
- Track the BoardGameGeek ranking for top games.
- Compare the top 10 board games of all time by rating, complexity, and play time.
📦 What data is returned?
Game rows can include titles, canonical pages, descriptions, images, player counts, play times, ages, categories, mechanics, credits, linked games, ratings, ranks, and popularity counts. Review rows can include public text, ratings, dates, reviewer profiles, collection details, game versions, and optional game details. A field is left out when BoardGameGeek does not provide it.
🚀 How to run the Actor
- Choose
hot,top,search,details, orreviewsas the target. - Add the fields used by that target.
- Click Start.
- Open the default dataset to view or export the rows.
📥 Input
| Field | Type | What it does |
|---|---|---|
target | string | Chooses hot games, top-ranked games, search, game details, or reviews. |
keywords | string[] | Searches each word or phrase on its own. Used for search. |
reviewsPerGame | integer | Stops after this many public written reviews for each game. Leave it empty to return all available public written reviews for each game until the source is exhausted. |
reviewOrder | string | Returns the most recent or highest-rated reviews first. |
minimumRating | number | Keeps reviews at or above this rating. Leave it empty to include every rating. |
includeGameMetadata | boolean | Adds full game details to review rows with one extra lookup per game. |
games | string[] | Accepts game names, numeric IDs, or BoardGameGeek game page URLs for details and reviews. |
nameMatch | string | Uses the best title match or all title matches for names. IDs and URLs are exact. |
maxItems | integer | Limits games for hot, top, and search. Leave it empty to return all available games until the source is exhausted. |
Default-input example from a successful run:
{"target": "hot","maxItems": 5,"reviewOrder": "recent","includeGameMetadata": false,"nameMatch": "best"}
Fields for other targets are ignored. If the same source game is found more than once, the Actor saves its first eligible match and ignores later matches.
📤 Output
Each board game is one row.
| Field | Type | What it does |
|---|---|---|
recordType | string | Is game for a board game row. |
gameId | string | Stable BoardGameGeek game ID. |
gameTitle | string | Main game title. |
gameUrl | string | Canonical BoardGameGeek game page. |
yearPublished | integer | First publication year. |
description | string | BoardGameGeek game description. |
thumbnailUrl | string | Small source image URL. |
imageUrl | string | Main source image URL. |
minPlayers, maxPlayers | integer | Stated player range. |
minPlayTimeMinutes, maxPlayTimeMinutes | integer | Stated play-time range in minutes. |
minimumAge | integer | Stated minimum age. |
alternateNames | string[] | Other names for the game. |
categories, mechanics, families | string[] | BoardGameGeek groups and features. |
designers, artists, publishers | string[] | Credited people and companies. |
expansions, expandsGames, reimplements, reimplementedBy | object[] | Linked games, each with gameId, title, and url. |
averageRating, bayesAverageRating | number | Community and Bayesian ratings out of 10. |
complexityWeight | number | Community complexity weight out of 5. |
overallRank | integer | Overall BoardGameGeek rank. |
categoryRanks | object[] | Named group ranks with name and rank. |
ratingCount, ownerCount, commentCount | integer | Community rating, owner, and comment counts. |
wisherCount, wanterCount | integer | Wishlist and wanted counts. |
{"recordType": "game","gameId": "224517","gameTitle": "Brass: Birmingham","gameUrl": "https://boardgamegeek.com/boardgame/224517/brass-birmingham","yearPublished": 2018,"description": "<p><em><strong>Brass: Birmingham</strong></em> is an economic strategy game sequel to Martin Wallace's 2007 masterpiece, <em>Brass</em>. <em>Brass: Birmingham</em> tells the story of competing entrepreneurs in Birmingham during the industrial revolution between the years of 1770 and 1870.</p>\n\n<p>It offers a very different story arc and experience from its predecessor. As in its predecessor, you must develop, build and establish your industries and network in an effort to exploit low or high market demands. The game is played over two halves: the canal era (years 1770-1830) and the rail era (years 1830-1870). To win the game, score the most VPs. VPs are counted at the end of each half for the canals, rails and established (flipped) industry tiles.</p>\n\n<p>Each round, players take turns according to the turn order track, receiving two actions to perform any of the following actions (found in the original game):</p>\n\n<p>1) <strong>Build</strong> - Pay required resources and place an industry tile.<br />\n2) <strong>Network</strong> - Add a rail / canal link, expanding your network.<br />\n3) <strong>Develop</strong> - Increase the VP value of an industry.<br />\n4) <strong>Sell</strong> - Sell your cotton, manufactured goods and pottery.<br />\n5) <strong>Loan</strong> - Take a £30 loan and reduce your income.</p>\n\n<p><em>Brass: Birmingham</em> also features a new sixth action:</p>\n\n<p>6) <strong>Scout</strong> - Discard three cards and take a wild location and wild industry card. (This action replaces Double Action Build in original <em>Brass</em>.)</p>\n\n","thumbnailUrl": "https://cf.geekdo-images.com/x3zxjr-Vw5iU4yDPg70Jgw__itemrep/img/giNUMut4HAl-zWyQkGG0YchmuLI=/fit-in/246x300/filters:strip_icc()/pic3490053.jpg","imageUrl": "https://cf.geekdo-images.com/e2e0wdO8oVNzD0ZAhzi6MQ__itemheader/img/Zj1GBUN2m-z4zX2-QWn31fiKEE4=/800x450/filters:quality(30):strip_icc()/pic3509697.jpg","minPlayers": 2,"maxPlayers": 4,"minPlayTimeMinutes": 60,"maxPlayTimeMinutes": 120,"minimumAge": 14,"alternateNames": ["Brass. Бирмингем","Brass. Бірмінгем","ブラス:バーミンガム","工业革命:伯明翰(Chinese edition) (2018)","工業革命:伯明翰","브라스: 버밍엄"],"categories": ["Age of Reason","Economic","Industry / Manufacturing","Post-Napoleonic","Trains","Transportation"],"mechanics": ["Chaining","End Game Bonuses","Hand Management","Income","Loans","Market","Multi-Use Cards","Network and Route Building","Ownership","Tags","Tech Trees / Tech Tracks","Tile Placement","Turn Order: Stat-Based","Variable Set-up"],"families": ["Cities: Birmingham (England)","Components: Map (Regional scale)","Components: Multi-Use Cards","Country: England","Country: United Kingdom","Crowdfunding: Kickstarter","Crowdfunding: Spieleschmiede","Digital Implementations: Steam","Digital Implementations: Tabletopia","Digital Implementations: VASSAL","Food & Drink: Beer","Game: Brass","History: Industrial Revolution","Misc: LongPack Games","Misc: Watch It Played How To Videos","Occupation: Engineer","Organizations: The Game Artisans of Canada","Theme: Canals"],"designers": ["Gavan Brown","Matt Tolman","Martin Wallace"],"artists": ["Gavan Brown","Lina Cossette","David Forest","Gui Landgraf","Damien Mammoliti","Mr. Cuddington","Matt Tolman"],"publishers": ["Roxley","Arclight Games","Board Game Rookie","BoardM Factory","CMON Global Limited","Conclave Editora","CoolPlay","CrowD Games","Dexker Games","Funforge","Gémklub","Ghenos Games","Giant Roc","Lanlalen","Lord of Boards","Maldito Games","PHALANX","Rebel Sp. z o.o.","TLAMA games","White Goblin Games"]}
Each public review is one row.
| Field | Type | What it does |
|---|---|---|
recordType | string | Is review for a review row. |
reviewId | string | Stable BoardGameGeek review ID. |
reviewUrl | string | Direct review link when available. |
gameId, gameTitle, gameUrl | string | Identifies the reviewed game and its canonical page. |
text | string | Public written review text. |
rating | number | Reviewer's rating out of 10. |
date | string | Review date when available. |
reviewer.username | string | Public BoardGameGeek username. |
reviewer.profileUrl, reviewer.name, reviewer.location | string | Public reviewer profile, name, and location when available. |
collection.owned | boolean | Whether the reviewer marks the game as owned. |
collection.wishlistPriority | integer | Public wishlist priority. |
gameVersion.versionId, gameVersion.name | string | Linked game version details. |
gameMetadata.yearPublished | integer | First publication year. |
gameMetadata.description, gameMetadata.imageUrl | string | Added game description and image. |
gameMetadata.minPlayers, gameMetadata.maxPlayers | integer | Added player range. |
gameMetadata.categories, gameMetadata.mechanics | string[] | Added categories and mechanics. |
{"recordType": "review","reviewId": "27457778","gameId": "174430","gameTitle": "Gloomhaven","gameUrl": "https://boardgamegeek.com/boardgame/174430/gloomhaven","text": "Kickstarter","reviewer": {"username": "Garroc","profileUrl": "https://boardgamegeek.com/user/Garroc","location": "New Lenox, Illinois, United States"},"rating": 10,"date": "2017-04-24","collection": {"owned": true,"wishlistPriority": 4}}
💳 Pricing
This Actor uses pay-per-event pricing. You are charged for each board game or public game review that is successfully saved. Failed lookups and runs with no saved rows are not described as charged events. See the live pricing panel for current prices.
🔌 Integrations
Send dataset rows to Google Sheets, Slack, Zapier, Make, webhooks, or your own code through Apify integrations and API tools.
❓ FAQ
Can I get the BGG top 100?
Yes. Choose top and set maxItems to 100. Leave it empty to return all available games until the source is exhausted.
Can I look up games without a BoardGameGeek ID?
Yes. Use names in games, or use keywords with the search target. IDs and full game URLs give an exact reference.
Can I collect reviews and game details together?
Yes. Choose reviews and turn on includeGameMetadata. This adds one game lookup for each reviewed game.
Does this need a BoardGameGeek login?
No. It reads publicly accessible game and review data. It does not access private account data or change collections.
Does it download game images?
No. It returns source image URLs when available.
📝 Changelog
0.0: Initial release
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Goodreads Scraper — collect book catalog details, lists, ratings, and public reviews for a nearby hobby dataset.
- BoardGameGeek (BGG) Board Game Scraper — use a focused option for BoardGameGeek game metadata.
- BoardGameGeek (BGG) Board Game Reviews Scraper — collect BoardGameGeek review rows with another review-focused tool.
- BoardGameGeek Scraper - Board Game Data & Ratings — gather game details and ratings through an alternative Actor.
- Trending Board Games Scraper — follow changing board game trends with a focused tool.
Made with ❤️ by Maxime Dupré