Weedmaps Scraper
Pricing
from $0.50 / 1,000 results
Weedmaps Scraper
[๐ฐ $0.5 / 1K] Extract cannabis dispensary, delivery, and doctor listings from Weedmaps. Search by city, state, or ZIP, or paste Weedmaps URLs, then filter by license type, deals, and online ordering. Get names, addresses, contacts, ratings, hours, payment methods, and licensing details.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Pull cannabis business listings from Weedmaps at scale โ dispensaries, delivery services, and doctors with names, full addresses, phone, email, ratings, today's hours, license type, payment methods, online-ordering availability, and live deals. Search by city, state, or ZIP, or paste any Weedmaps browse URL. Built for cannabis market researchers, dispensary lead-generation teams, and delivery brands who need a clean, structured directory of licensed retailers without clicking through Weedmaps map pages one listing at a time.
Why This Scraper?
- Three listing types in one actor โ dispensaries, delivery services, and doctors, switchable from a single dropdown. Most competing scrapers cover storefront dispensaries only.
- Medical vs. recreational license filtering โ restrict a run to medical-only or recreational (adult-use) retailers, or pull both, so you only pay for the licensing class you need.
- Verified contact data on every listing โ business phone, email, and the Weedmaps profile URL captured per row for outreach and CRM enrichment.
- Latitude and longitude on every row โ search by city, state, or a 5-digit ZIP and get precise coordinates for mapping and territory analysis.
- Live operational signals โ current open-now status, today's hours with timezone, and online-ordering availability split into pickup and delivery with an ETA window in minutes.
- Deal intelligence โ filter to listings running active promotions, then read up to 4 deal titles plus a total deal count per listing to spot promotable retailers.
- Four-way payment-method breakdown โ cash, debit, credit, and ACH acceptance flags on each listing, so you can segment retailers by how they take payment.
- Menu size and review count as popularity signals โ every row carries a menu-item count and a review count without bloating the dataset with thousands of child rows.
- Four stacking filters plus paste-URL support โ combine license type, open-now, online-ordering, and has-deals, or drop in a
/dispensaries/in/...browse link and the actor honors the location and filters baked into it.
Use Cases
Market Research
- Map dispensary and delivery density across a city, state, or ZIP
- Compare medical vs. recreational retailer coverage by market
- Track which retailers offer online ordering for pickup or delivery
- Size local markets by menu count and review volume
Lead Generation
- Build outreach lists of licensed retailers with phone, email, and profile URL
- Target delivery services in specific ZIP codes
- Segment prospects by payment methods accepted (cash, debit, credit, ACH)
- Find doctors and clinics for medical-cannabis referral programs
Competitive Intelligence
- Monitor which competitors are running active deals and read their deal titles
- Track ratings and review counts across rival storefronts
- Compare today's hours and open-now availability in a trade area
- Watch online-ordering ETAs to benchmark fulfillment speed
Location & Territory Analysis
- Plot retailers on a map using per-row latitude and longitude
- Plan delivery zones around a ZIP using a 50-mile search radius
- Identify underserved areas by retailer count per location
- Cross-reference license type with geography for expansion planning
Getting Started
Search a Single City
The simplest run โ one location, default dispensaries:
{"searchLocations": ["Los Angeles, CA"],"maxResults": 50}
Recreational Retailers with Deals
{"searchLocations": ["Denver", "80202"],"listingType": "dispensaries","licenseType": "recreational","hasDealsOnly": true,"maxResults": 200}
Delivery Services, Open Now, Online Ordering
{"searchLocations": ["Sacramento, CA", "San Diego, CA"],"listingType": "deliveries","openNow": true,"onlineOrderingOnly": true,"maxResults": 500,"onlyUniqueListings": true}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
searchLocations | string[] | ["Los Angeles, CA"] | Cities, states, or ZIP codes to search (e.g. "Los Angeles, CA", "Denver", "90210"). Each location runs its own search. |
startUrls | string[] | [] | Paste Weedmaps browse URLs (e.g. https://weedmaps.com/dispensaries/in/united-states/california/los-angeles). Location and filters baked into the URL are respected. |
listingType | select | Dispensaries (storefronts) | Which kind of business to collect: Dispensaries (storefronts), Deliveries, or Doctors. Applies to location searches. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
licenseType | select | Any license type | Limit to Medical only, Recreational (adult-use), or any license type. |
openNow | boolean | false | Only return businesses that are currently open. |
onlineOrderingOnly | boolean | false | Only return businesses that accept online orders for pickup or delivery. |
hasDealsOnly | boolean | false | Only return businesses currently running deals or promotions. |
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum listings to collect per location or URL. Set to 0 for all available results. The actor keeps the whole final page, so a small cap may return a few extra. |
onlyUniqueListings | boolean | true | Return each business once even if it appears across several searches. Turn off to keep every copy. |
Output
Each listing is one flat row. Here's a representative result:
{"id": "123456","name": "Green Thumb Dispensary","type": "dispensary","licenseType": "recreational","rating": 4.7,"reviewsCount": 1284,"address": "123 Sunset Blvd","city": "Los Angeles","state": "CA","zipCode": "90028","country": "United States","latitude": 34.0982,"longitude": -118.3267,"phone": "+13105551234","email": "hello@greenthumb.example","website": "https://weedmaps.com/dispensaries/green-thumb-dispensary","url": "https://weedmaps.com/dispensaries/green-thumb-dispensary","openNow": true,"todaysHours": "6:00am - 9:45pm","timezone": "America/Los_Angeles","minAge": 21,"retailerServices": ["storefront", "pickup", "delivery"],"menuItemsCount": 412,"verifiedMenuItemsCount": 388,"distanceMiles": 3.37,"acceptsCreditCards": false,"acceptsDebitCards": true,"acceptsCashlessPayments": true,"acceptsAch": false,"onlineOrderingEnabled": true,"pickupEnabled": true,"deliveryEnabled": true,"etaMin": 30,"etaMax": 60,"topDeals": ["20% off all flower", "Buy 2 carts get 1 free"],"dealsCount": 7,"hasFeaturedDeal": true,"searchLocation": "Los Angeles, CA","scrapedAt": "2026-06-26T14:30:00+00:00"}
Core Fields
| Field | Type | Description |
|---|---|---|
id | string | Stable Weedmaps listing identifier |
name | string | Business name |
type | string | Listing type (dispensary, delivery, doctor) |
licenseType | string | License classification of the listing |
rating | number | Average star rating |
reviewsCount | number | Total number of reviews |
menuItemsCount | number | Number of items on the listing's menu |
verifiedMenuItemsCount | number | Number of verified menu items (a freshness/quality signal) |
distanceMiles | number | Distance in miles from the center of your search location |
url | string | Weedmaps listing URL |
searchLocation | string | The location or URL this row came from |
scrapedAt | string | ISO timestamp of data extraction |
Address & Location
| Field | Type | Description |
|---|---|---|
address | string | Street address |
city | string | City |
state | string | State |
zipCode | string | ZIP code |
country | string | Country |
latitude | number | Latitude |
longitude | number | Longitude |
Contact
| Field | Type | Description |
|---|---|---|
phone | string | Business phone number |
email | string | Business email (when published) |
website | string | Weedmaps profile URL |
Hours & Access
| Field | Type | Description |
|---|---|---|
openNow | boolean | Whether the business is currently open |
todaysHours | string | Today's opening hours |
timezone | string | Business timezone |
minAge | number | Minimum age to enter or order |
retailerServices | string[] | Service tags (storefront, pickup, delivery) |
Payments & Ordering
| Field | Type | Description |
|---|---|---|
acceptsCashlessPayments | boolean | Accepts cashless payments |
acceptsDebitCards | boolean | Accepts debit cards |
acceptsCreditCards | boolean | Accepts credit cards |
acceptsAch | boolean | Accepts ACH transfers |
onlineOrderingEnabled | boolean | Online ordering available |
pickupEnabled | boolean | Pickup orders available |
deliveryEnabled | boolean | Delivery orders available |
etaMin | number | Lower bound of order ETA in minutes |
etaMax | number | Upper bound of order ETA in minutes |
Deals
| Field | Type | Description |
|---|---|---|
topDeals | string[] | Up to 4 active deal titles |
dealsCount | number | Total number of active deals |
hasFeaturedDeal | boolean | Whether the listing has a featured deal |
Tips for Best Results
- Run one listing type per job โ dispensaries, deliveries, and doctors each get their own run. Launch them separately and merge the datasets afterward for a full local picture.
- Combine open-now and has-deals to surface promotable retailers โ pairing these two filters returns only listings that are both live right now and actively discounting, the sharpest list for partnership or competitive outreach.
- Search by city or ZIP for the most complete coverage โ results are centered within about 50 miles of each location, so a single statewide search won't cover a large state edge-to-edge. List a state's major cities (Los Angeles, San Francisco, San Diego, Sacramento for California) instead of one bare state name, and use a single ZIP to center the search on a precise point for delivery-zone planning.
- Start small to validate โ set
maxResultsto 25โ50 on your first run to confirm the fields match your needs, then scale up. - Filter by license type to cut noise โ set Medical or Recreational so you only collect (and pay for) the licensing class you actually need.
- Mix locations and URLs in one run โ list several cities and ZIPs together, or paste a
/deliveries/in/...browse link; results are deduplicated by listing when Only Unique Listings is on. - Expect counts, not raw menus โ
menuItemsCountandreviewsCountare at-a-glance totals per listing, keeping rows lightweight rather than expanding into thousands of product or review rows.
Pricing
From $0.50 per 1,000 results โ flat pay-per-result, one of the most affordable cannabis directory scrapers available. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.06 | $0.06 | $0.05 | $0.05 |
| 1,000 | $0.60 | $0.56 | $0.53 | $0.50 |
| 10,000 | $6.00 | $5.60 | $5.30 | $5.00 |
| 100,000 | $60.00 | $56.00 | $53.00 | $50.00 |
A "result" is any listing row in the output dataset. No compute or time-based charges โ you pay per result, plus a small fixed per-run start fee.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom integrations on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor collects publicly available cannabis business-listing data for legitimate market research, lead generation, and competitive analysis. The data covers businesses, not consumers. Users are responsible for complying with Weedmaps' Terms of Service and with all applicable local, state, and federal laws โ including cannabis advertising, marketing, and data-handling regulations in their jurisdiction. Do not use extracted data for spam, harassment, or any unlawful purpose.