Cannabis Dispensary Monitor/Scraper
Pricing
from $4.00 / 1,000 results
Cannabis Dispensary Monitor/Scraper
Cannabis dispensary contact data: business name, address, phone, email, Instagram, website, license fields, product categories and public review counts. For marketing agencies, ownership groups, researchers and compliance consultants.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Cannabis Scraper do?
Cannabis Scraper extracts structured cannabis dispensary contact data from public dispensary directories (currently AllBud.com). For every dispensary it produces a clean record with business name, full address, phone number, publicly displayed review counts and ratings, dispensary type (recreational / medical / hybrid), geo-coordinates and amenities - plus email, Instagram handle and website URL whenever they are publicly displayed on the source page.
The actor runs on Apify's infrastructure with proxy support enabled by default, so your own IP is never exposed. Results are available as JSON, CSV, Excel or via API.
Why use Cannabis Scraper?
Built for the cannabis industry's B2B data consumers:
- Cannabis marketing agencies - build prospect lists of dispensaries by city/state with phone numbers and public review footprints.
- Dispensary ownership groups - monitor competitors' public ratings, review volume and market presence across cities.
- Market researchers - export consistent, machine-readable dispensary datasets for analysis.
- Regulatory compliance consultants - map the retail landscape; license-registry fields are reserved in the output schema for upcoming state-registry adapters.
How to use Cannabis Scraper
- Open the actor and go to the Input tab.
- Paste one or more AllBud listing URLs into Start URLs - city level (
https://www.allbud.com/dispensaries/colorado/denver) or state level (https://www.allbud.com/dispensaries/massachusetts). A single dispensary page URL also works. - Set Max dispensaries to control run size (free preview is capped at 10 records).
- Click Start. Records stream into the dataset as they are extracted.
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array (required) | Denver listing | AllBud listing or dispensary URLs |
maxItems | integer | 100 | Max dispensary records (paid); hard ceiling 1000 |
maxRequestsPerCrawl | integer | 300 | Hard safety cap on total HTTP requests (max 1000) |
maxConcurrency | integer | 3 | Parallel requests (max 10) |
proxyConfiguration | object | Apify proxy ON | Proxy groups; enabled by default |
Output
Example dataset item:
{"businessName": "Ballpark Holistic Dispensary","dispensaryType": "Recreational","productCategories": ["Recreational"],"phone": "303-590-9881","email": null,"instagramHandle": null,"websiteUrl": null,"address": {"street": "2119 Larimer St.","city": "Denver","state": "CO","postalCode": "80205","country": "United States"},"latitude": 39.75438,"longitude": -104.9912187,"licenseNumber": null,"licenseIssuanceDate": null,"licenseType": null,"reviewCount": 2,"voteCount": 10,"ratingValue": 4.7,"amenities": ["ADA accessible", "Accepts debit cards"],"sourceUrl": "https://www.allbud.com/dispensaries/colorado/denver/ballpark-holistic-dispensary","scrapedAt": "2026-08-23T09:30:00.000Z"}
You can download the dataset in JSON, HTML, CSV or Excel.
Data table
| Field | Description |
|---|---|
businessName | Dispensary business name |
dispensaryType | Recreational / Medical / Hybrid / Unknown |
productCategories | Categories derivable from the source (type-based) |
phone | Publicly listed phone number |
email | Publicly displayed email (null when not shown) |
instagramHandle | Instagram handle linked from the source page |
websiteUrl | Official website URL when linked from the source page |
address | Street, city, state, ZIP, country |
latitude / longitude | Geo-coordinates from structured data |
licenseNumber, licenseIssuanceDate, licenseType | State registry fields - reserved for registry adapters (null in this version) |
reviewCount | Publicly displayed written review count |
voteCount | Publicly displayed rating vote count |
ratingValue | Average rating |
amenities | e.g. ATM, ADA accessible, accepts debit cards |
sourceUrl / scrapedAt | Provenance fields |
Pricing / Cost estimation
This is a lightweight HTTP-only actor (no browser), so runs are cheap: roughly 1 request per dispensary plus a handful of listing pages. A 100-dispensary run typically finishes well under $0.05 of compute on standard plans. Free-tier users get a capped preview of 10 records per run; paying users can extract up to maxItems (ceiling 1000). Apify proxy usage is included in paid plans.
Tips and Advanced options
- City-level URLs give cleaner coverage than state-level pages (state pages paginate through mixed areas).
- Keep
maxConcurrencyat 3-5 to stay gentle on the source site. - Use
maxRequestsPerCrawlas your budget guardrail - the crawl stops immediately when either cap is hit. - For emails, websites and richer menus, pair this actor's output (name + city + state) with a Google Maps scraper enrichment run.
FAQ, disclaimers and support
- Where are license issuance dates? State cannabis registries publish them, but not on the directory scraped here. The output schema reserves
licenseNumber,licenseIssuanceDateandlicenseTypefor the planned state-registry adapters; they arenullin this version. - Why are some contact fields null? Email, Instagram and website are only filled when the source page publicly displays them. Many AllBud listings don't include them.
- Is scraping legal? This actor only accesses publicly available pages and respects rate limits. Do not use the data in violation of any applicable law or the source site's terms.
- Found a bug or need a custom field? Open an issue on the actor's Issues tab.