Weedmaps Scraper avatar

Weedmaps Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Weedmaps Scraper

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

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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

ParameterTypeDefaultDescription
searchLocationsstring[]["Los Angeles, CA"]Cities, states, or ZIP codes to search (e.g. "Los Angeles, CA", "Denver", "90210"). Each location runs its own search.
startUrlsstring[][]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.
listingTypeselectDispensaries (storefronts)Which kind of business to collect: Dispensaries (storefronts), Deliveries, or Doctors. Applies to location searches.

Filters

ParameterTypeDefaultDescription
licenseTypeselectAny license typeLimit to Medical only, Recreational (adult-use), or any license type.
openNowbooleanfalseOnly return businesses that are currently open.
onlineOrderingOnlybooleanfalseOnly return businesses that accept online orders for pickup or delivery.
hasDealsOnlybooleanfalseOnly return businesses currently running deals or promotions.

Limits

ParameterTypeDefaultDescription
maxResultsinteger100Maximum 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.
onlyUniqueListingsbooleantrueReturn 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

FieldTypeDescription
idstringStable Weedmaps listing identifier
namestringBusiness name
typestringListing type (dispensary, delivery, doctor)
licenseTypestringLicense classification of the listing
ratingnumberAverage star rating
reviewsCountnumberTotal number of reviews
menuItemsCountnumberNumber of items on the listing's menu
verifiedMenuItemsCountnumberNumber of verified menu items (a freshness/quality signal)
distanceMilesnumberDistance in miles from the center of your search location
urlstringWeedmaps listing URL
searchLocationstringThe location or URL this row came from
scrapedAtstringISO timestamp of data extraction

Address & Location

FieldTypeDescription
addressstringStreet address
citystringCity
statestringState
zipCodestringZIP code
countrystringCountry
latitudenumberLatitude
longitudenumberLongitude

Contact

FieldTypeDescription
phonestringBusiness phone number
emailstringBusiness email (when published)
websitestringWeedmaps profile URL

Hours & Access

FieldTypeDescription
openNowbooleanWhether the business is currently open
todaysHoursstringToday's opening hours
timezonestringBusiness timezone
minAgenumberMinimum age to enter or order
retailerServicesstring[]Service tags (storefront, pickup, delivery)

Payments & Ordering

FieldTypeDescription
acceptsCashlessPaymentsbooleanAccepts cashless payments
acceptsDebitCardsbooleanAccepts debit cards
acceptsCreditCardsbooleanAccepts credit cards
acceptsAchbooleanAccepts ACH transfers
onlineOrderingEnabledbooleanOnline ordering available
pickupEnabledbooleanPickup orders available
deliveryEnabledbooleanDelivery orders available
etaMinnumberLower bound of order ETA in minutes
etaMaxnumberUpper bound of order ETA in minutes

Deals

FieldTypeDescription
topDealsstring[]Up to 4 active deal titles
dealsCountnumberTotal number of active deals
hasFeaturedDealbooleanWhether 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 maxResults to 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 โ€” menuItemsCount and reviewsCount are 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.

ResultsNo discountBronzeSilverGold
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

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.