Untappd Scraper
Pricing
$0.90 / 1,000 scraped beers
Untappd Scraper
Scrape public Untappd beer data from top-rated lists, beer URLs, brewery pages, beer IDs, or search terms. Export ratings, ABV, IBU, breweries, check-in counts, visible check-ins, venues, serving styles, and photos.
Pricing
$0.90 / 1,000 scraped beers
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Share
🍺 Untappd scraper for beer ratings and check-ins
Untappd Scraper collects public beer data from Untappd and saves one clean Apify dataset row per beer. Use it to export beer names, breweries, styles, ratings, ABV, IBU, check-in totals, descriptions, images, source URLs, and visible public check-ins when you want review-style context.
Start with no targets to collect top-rated beers, or add beer URLs, brewery URLs, beer IDs, and search terms when you need specific beers or brewery portfolios. The Actor works with public Untappd pages and does not ask for Untappd cookies, login details, or an API key.
This Untappd scraper is useful for brewery research, beer market analysis, review monitoring, bar or bottle-shop planning, content research, and repeatable beer datasets. You can run it in Apify Console, schedule repeat runs, call it through the Apify API, and export results as JSON, CSV, Excel, XML, RSS, or HTML.
✅ What this Actor does
- Collects top-rated public beers when targets are empty.
- Accepts public Untappd beer URLs.
- Accepts public Untappd brewery URLs and collects beers from those brewery pages.
- Accepts Untappd beer IDs.
- Searches public Untappd beer data from search terms.
- Optionally narrows top-rated discovery by beer style.
- Saves one dataset row per beer.
- Adds visible public check-ins inside each beer row when
includeCheckinsis enabled. - Stops at your
maxRecordsbeer-row limit. - Runs without user-provided Untappd credentials.
The output is built around beer rows, not separate check-in rows. That keeps exports easier to join with beer metadata while still giving you recent public check-in context when Untappd exposes it.
📦 Data you can extract
Each beer row can include:
beerIdandbeerUrlbeerNamebreweryNameandbreweryUrlbeerStyleabvPercentibuglobalRatingratingCounttotalCheckinsandtotalCheckinsTextdescriptionimageUrlsourceRankcheckins
Each item in checkins can include:
checkinIdandcheckinUrlcheckinDateuserName,userSlug,userProfileUrl, anduserAvatarUrlratingcommentservingStylevenueNameandvenueUrlpurchasedFromphotoUrls
Some public Untappd pages do not expose every field for every beer or check-in. Missing values are returned as null, and missing lists are returned as empty arrays. The Actor does not invent values that are not visible in the public source data.
🚀 How to run
- Leave Untappd targets empty for a first top-rated beer run, or paste beer URLs, brewery URLs, beer IDs, or search terms.
- Use Beer style only when you want to narrow top-rated discovery. Source-style names such as
IPA - Imperial / Doublework best. - Set Maximum records to the number of beer rows you want.
- Keep Include check-ins enabled if you want visible public check-ins nested under each beer.
- Start the Actor and open the dataset in Apify Console.
For a quick preview, run with a small limit such as 25 and leave check-ins on. After you inspect the output shape, raise the limit or add specific breweries and beer URLs.
⚙️ Input
{"targets": ["https://untappd.com/b/the-alchemist-heady-topper/4691","https://untappd.com/w/sierra-nevada-brewing-co/1142","Pliny the Elder"],"beerStyle": "IPA - Imperial / Double","maxRecords": 25,"includeCheckins": true}
🔎 Targets
targets can contain a mix of:
- Beer URLs such as
https://untappd.com/b/the-alchemist-heady-topper/4691 - Brewery URLs such as
https://untappd.com/w/sierra-nevada-brewing-co/1142 - Beer IDs such as
4691 - Search terms such as
Pliny the Elder
Leave targets empty to use top-rated beer discovery.
🎚️ Limits and check-ins
maxRecords caps saved beer rows across the whole run. includeCheckins controls whether each beer row includes the public check-ins Untappd shows on the beer page.
Check-ins are not separate top-level dataset rows and are not charged separately. They are nested in the checkins array on the beer row when requested.
🧪 Output example
{"beerId": "4691","beerUrl": "https://untappd.com/b/the-alchemist-heady-topper/4691","beerName": "Heady Topper","breweryName": "The Alchemist","breweryUrl": "https://untappd.com/TheAlchemist","beerStyle": "IPA - Imperial / Double","abvPercent": 8,"ibu": 120,"globalRating": 4.5,"ratingCount": 420000,"totalCheckins": 700000,"totalCheckinsText": "700,000 Ratings","description": "An American double IPA...","imageUrl": "https://assets.untappd.com/site/beer_logos/...","sourceRank": 1,"checkins": [{"checkinId": "1234567890","checkinUrl": "https://untappd.com/user/example/checkin/1234567890","checkinDate": "2026-06-19T12:00:00.000Z","userName": "Example User","userSlug": "example","userProfileUrl": "https://untappd.com/user/example","userAvatarUrl": "https://assets.untappd.com/profile/...","rating": 4.5,"comment": "Bright, bitter, and fresh.","servingStyle": "Can","venueName": "Example Taproom","venueUrl": "https://untappd.com/v/example-taproom/12345","purchasedFrom": null,"photoUrls": ["https://assets.untappd.com/photos/..."]}]}
💳 Pricing
This Actor uses pay-per-event pricing. You are charged $0.0009 for each public beer saved to the dataset.
Visible public check-ins are included inside the beer row when includeCheckins is enabled. They are not charged as separate dataset rows.
Use a small maxRecords value for your first run, then scale up after you confirm the row shape and the number of check-ins you need.
⚠️ Limits and caveats
- The Actor works with public Untappd data only.
- It does not scrape private, friends-only, logged-in-only, or account-specific data.
- It does not ask for Untappd cookies, passwords, user accounts, or API keys.
- Public beer pages may expose only a visible set of check-ins. The Actor does not promise a complete historical check-in archive for every beer.
- Some beers, breweries, styles, or search terms may return fewer results than your
maxRecordsvalue. - Source pages can change, omit fields, or temporarily expose no usable data. The Actor saves available beer rows and reports skipped pages in logs.
❓ FAQ
🔐 Do I need an Untappd account?
No. The Actor is designed for public Untappd pages and does not ask for Untappd credentials, cookies, or an API key.
💬 Are check-ins returned as separate records?
No. The dataset saves one row per beer. When includeCheckins is enabled, visible public check-ins are returned in the checkins array inside that beer row.
🔗 Can I scrape a brewery's beers?
Yes. Add a public Untappd brewery URL to targets. The Actor discovers public beer links from the brewery page and saves matching beer rows until it reaches your limit.
🍻 Can I collect top-rated beers by style?
Yes. Leave targets empty and set beerStyle. Public Untappd style names such as IPA - Imperial / Double, Stout - Imperial / Double, or Sour - Fruited are the clearest inputs.
📅 Can I schedule this Untappd scraper?
Yes. Save an input in Apify Console, schedule repeat runs, read the dataset through the Apify API, or connect outputs to Apify integrations and webhooks.
📝 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 🫡
🔗 Other actors
- Goodreads Scraper ↗ - collect public book data and optional review rows from Goodreads.
- Google Play Store Scraper ↗ - export public app details, reviews, permissions, and Data Safety data.
- App Store Ratings Scraper ↗ - monitor Google Play and Apple App Store ratings and metadata.
- DoorDash Reviews Scraper ↗ - collect public DoorDash review previews from store pages.
- Website Emails Scraper ↗ - extract public contact emails from websites you submit.
Made with ❤️ by Maxime Dupré