Leafly Dispensary Scraper avatar
Leafly Dispensary Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Leafly Dispensary Scraper

Leafly Dispensary Scraper

๐Ÿช๐ŸŒฟ Collect clean Leafly.com dispensary data for any city or location. Get ๐Ÿ“ addresses, ๐Ÿ“ž contact details, โญ ratings, ๐Ÿ•’ hours, ๐Ÿšš delivery & pickup options, ๐Ÿ–ผ photos, and ๐Ÿ’ฌ reviews in a structured, ready-to-use format.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

Krazee

Krazee

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

๐Ÿช Leafly Dispensary Scraper

Collect clean dispensary data across locations, including names, addresses, contact details, reviews, ratings, store hours, delivery and pickup options, and payment details, all in a structured, ready-to-use format.

๐Ÿ“š Table of Contents


๐Ÿงพ What This Actor Does

You provide:

  • A list of locations
  • A maximum number of dispensaries per location

The actor returns:

  • One normalized dataset item per dispensary
  • Consistent fields across all locations
  • Ready-to-use data for analysis, dashboards, automation, and internal tooling

๐Ÿ“ฆ What Data You Get

Each dataset item represents one dispensary.

CategoryWhatโ€™s Included
๐Ÿท Identity & Listingid
name
slug
featureTier
flags
headerTags
description
๐Ÿ“ž Contact & Online Presencephone
email
website
detailUrl
๐Ÿ“ Address & Locationaddress
city
state
country
zip
latitude
longitude
distanceMi
โญ Ratings & Popularityrating
roundedRating
qualityRating
serviceRating
atmosphereRating
reviewCount
followerCount
๐Ÿ’ฌ Reviewsreviews[].rating
reviews[].content
reviews[].createdAt
reviews[].wouldRecommend
reviews[].wouldShopAgain
reviews[].staffResponse
โฐ Hours & StatusopenNow
openUntil
openNext
schedule
schedules
currentStatuses
๐Ÿšš Delivery & PickupdeliveryEnabled
deliveryRadiusMiles
deliveryFee
deliveryOrderMinimum
pickupEnabled
pickupMinutesMinimum
pickupMinutesMaximum
๐Ÿ’ณ Payments & AccessacceptsCash
acceptsDebitCards
acceptsCreditCards
hasAtm
isAdaAccessible
๐Ÿ› Menu & OrderinghasMenuItems
lastMenuUpdate
onlineFulfillmentEnabled
inStoreCartEnabled
๐Ÿ–ผ MediadisplayImage
coverPhotoUrl
logoUrl
photos[]
๐Ÿชช Compliance & TypelicenseNumber
isApproved
storeType
retailType

๐Ÿ’ก All fields are normalized and nullable where the source does not expose data.


๐Ÿ‘ฅ Who This Actor Is For

This actor is designed for teams that care about how dispensaries operate and perform, not just what they sell. It focuses on store-level intelligence and operational signals, rather than volatile product menus or pricing.

Below are common user groups and the parts of the dataset they are most likely to use.
The dataset is intentionally rich and flexible โ€” these are possibilities, not limitations.

๐Ÿ“Š Data Teams & Analysts

Useful fields include:

  • โญ Ratings & Aggregates (rating, roundedRating, reviewCount, followerCount)
  • ๐Ÿงฎ Rating Breakdowns (qualityRating, serviceRating, atmosphereRating)
  • ๐Ÿ’ฌ Review Content (reviews[].rating, reviews[].content, reviews[].createdAt)
  • ๐Ÿ‘ค Reviewer Metadata (reviews[].userId, reviews[].userName, reviews[].language, reviews[].upvotesCount, reviews[].badges)
  • ๐Ÿ—ฃ Staff Interaction Signals (reviews[].staffResponse, reviews[].staffResponseDate)
  • โฑ Time-Based Signals (created, lastMenuUpdate, openNow, openUntil, openNext)
  • ๐Ÿ“ Location & Geography (city, state, country, latitude, longitude)
  • ๐Ÿท Classification & Platform Signals (flags, headerTags, featureTier, storeType, retailType)

๐Ÿ“ˆ Sales & Growth Teams

Useful fields include:

  • ๐Ÿ“ž Contact & Online Presence (phone, email, website, detailUrl)
  • โญ Reputation Signals (roundedRating, reviewCount, reviews[].content)
  • ๐Ÿ’ฌ Customer Engagement Readiness (hasChatEnabled, supportsSmsNotifications, hasReservationsEnabled)
  • ๐Ÿšš Fulfillment Options (pickupEnabled, deliveryEnabled, onlineFulfillmentEnabled)
  • ๐Ÿ“ข Listing Visibility & Tier (featureTier, paidListing via flags)
  • โš ๏ธ Operational Gaps (disabled delivery, missing menus, outdated lastMenuUpdate)

๐Ÿง  Agencies & Consultants

Useful fields include:

  • ๐Ÿท Identity & Branding (name, slug, displayImage, logoUrl, coverPhotoUrl)
  • ๐ŸŒ Market & Location Context (address, city, state, country, locationPaths)
  • ๐Ÿ’ฌ Customer Feedback Narratives (reviews[].content, reviews[].createdAt)
  • ๐Ÿ“Š Cross-Market Comparison Signals (featureTier, flags, storeType, retailType)
  • ๐Ÿ–ผ Media & Metadata suitable for reports and client deliverables
  • ๐Ÿงฉ Consistent Schema across locations for repeatable analysis

๐Ÿงฉ Developers & Product Teams

Useful fields include:

  • ๐Ÿ†” Stable Identifiers (id, slug, canonicalDispensaryId)
  • ๐Ÿงฑ Normalized & Nullable Fields for safe ingestion
  • โฐ Structured Schedules & Status (currentStatuses, pickupSchedule, deliverySchedule)
  • ๐Ÿ—บ Geocoding & Map Support (mapMarkerLocations, primaryLocation, locations)
  • ๐Ÿ’ฌ Reviews & Status Data for monitoring, alerts, or pipelines
  • ๐Ÿง  Feature Flags & Capabilities (flags, pickupEnabled, deliveryEnabled)

๐Ÿ”ฅ Use Cases

๐Ÿ“Š Market & Competitive Research

Compare dispensaries across cities or states using ratings, reviews, listing tiers, store hours, and delivery coverage to understand regional patterns and spot competitive gaps.

๐Ÿช Dispensary Benchmarking

Benchmark stores against peers on pickup and delivery availability, payment support, menu freshness, review volume, and customer sentiment using normalized data.

๐Ÿ“ˆ Lead Generation & Sales Intelligence

Find outreach opportunities using addresses and contact details, poor or declining reviews, unanswered feedback, missing delivery or ordering options, and outdated menus.

โญ Reputation & Review Analysis

Analyze customer feedback at scale using review content, ratings, recommendation signals, and staff responses to uncover recurring issues and improvement areas.

๐Ÿ—บ Location Intelligence & Spatial Analysis

Use full address data, city and state information, and latitude and longitude to build maps, heatmaps, density views, and market coverage insights.

๐Ÿงฉ Internal Tools, Dashboards & Automation

Plug clean, consistent dispensary data into dashboards, CRMs, BI tools, or internal systems for reporting, monitoring, alerts, and automation without manual cleanup.


โšก Quick Start

  1. Provide one or more locations
  2. Run the actor

By default, the actor collects up to 20 dispensaries per location.


โฌ‡๏ธ Input Format

{
"locations": ["Chicago, IL", "Los Angeles, CA"],
"dispensariesLimit": 50
}

Locations donโ€™t need exact formatting โ€” city names, neighborhoods, or cityโ€“state combinations work as long as Leafly can resolve them.


๐Ÿ“ค Output Example

{
"id": 386685,
"slug": "hi5-cannabis-dispensary",
"name": "Hi5 Cannabis Dispensary",
"created": "2025-02-26T19:33:15.967Z",
"canonicalDispensaryId": null,
"featureTier": "pro",
"description": "Experience the ultimate cannabis destination at Hi5 Cannabis Dispensary, Chicago's premier dispensary for premium recreational products. Our curated selection, conveniently located on S Cicero Ave in Crestwood, offers a tailored experience. With daily deals, exclusive offers, and a student, faculty, senior, and veteran discount program, there's something for everyone. Step into our dispensary or use our online ordering system for in-store pickup. Discover the joy of cannabis at Hi5 Cannabis Dispensary.",
"displayImage": "https://leafly-public.imgix.net/dispensary/photos/gallery386685/CFBbWtPR7amq9VOoWfEu_55b875c7-1948-4b83-a63e-b80f1251a71b",
"coverPhotoUrl": "https://leafly-public.imgix.net/dispensary/photos/gallery386685/CFBbWtPR7amq9VOoWfEu_55b875c7-1948-4b83-a63e-b80f1251a71b",
"logoUrl": "https://leafly-public.imgix.net/dispensary/photos/gallery386685/E6ilZ6QSmKezlv3fLNXC_133faae4-c6e6-4d40-ab0a-d204c305e8c3",
"detailUrl": "https://www.leafly.com/dispensary-info/hi5-cannabis-dispensary",
"address": "13352 S Cicero Ave",
"address1": "13352 S Cicero Ave",
"address2": null,
"city": "Crestwood",
"cityGeocoded": "Crestwood",
"state": "IL",
"stateGeocoded": "Illinois",
"postalCode": "60445",
"zip": "60445",
"country": "US",
"latitude": 41.6489524,
"longitude": -87.7385944,
"distanceMi": null,
"locationPaths": {
"cityDisplayName": "Crestwood",
"cityPath": "/illinois/crestwood",
"stateDisplayName": "Illinois",
"statePath": "/illinois"
},
"mapMarkerLocations": [
{
"city": "Crestwood",
"index": 0,
"label": "Crestwood,IL",
"state": "IL",
"country": "US",
"latitude": 41.6489524,
"longitude": -87.7385944
}
],
"primaryLocation": {
"lat": 41.6489524,
"lon": -87.7385944
},
"locations": [
{
"lat": 41.6489524,
"lon": -87.7385944
}
],
"rating": 3.3333,
"roundedRating": 3.3,
"qualityRating": 3,
"serviceRating": 4,
"atmosphereRating": 3,
"reviewCount": 2,
"followerCount": 9,
"openNow": false,
"openUntil": null,
"openNext": "2026-01-17 09:00:00 -0600",
"timeZone": "America/Chicago",
"currentStatuses": {
"store": {
"statusChangeAt": {
"day": "saturday",
"time": "09:00",
"type": "open"
},
"isOpen": false,
"isOpen24Hours": false
},
"delivery": null,
"pickup": {
"statusChangeAt": {
"day": "saturday",
"time": "09:00",
"type": "open"
},
"isOpen": false,
"isOpen24Hours": false
}
},
"deliveryEnabled": false,
"deliveryFee": 0,
"deliveryOrderMinimum": 0,
"deliveryRadiusMiles": 10,
"deliveryTimeEstimate": null,
"deliveryZoneRangeType": "radius",
"deliveryZonePostalCodeWhitelist": [],
"deliveryZonePostalCodeBlacklist": [],
"deliveryServiceAreaRanges": [],
"deliverySchedule": {
"friday": {
"close": "1901-01-01T00:00:00Z",
"isOpen": false,
"open": "1901-01-01T00:00:00Z"
},
"monday": {
"close": "1901-01-01T00:00:00Z",
"isOpen": false,
"open": "1901-01-01T00:00:00Z"
},
"saturday": {
"close": "1901-01-01T00:00:00Z",
"isOpen": false,
"open": "1901-01-01T00:00:00Z"
},
"sunday": {
"close": "1901-01-01T00:00:00Z",
"isOpen": false,
"open": "1901-01-01T00:00:00Z"
},
"thursday": {
"close": "1901-01-01T00:00:00Z",
"isOpen": false,
"open": "1901-01-01T00:00:00Z"
},
"tuesday": {
"close": "1901-01-01T00:00:00Z",
"isOpen": false,
"open": "1901-01-01T00:00:00Z"
},
"wednesday": {
"close": "1901-01-01T00:00:00Z",
"isOpen": false,
"open": "1901-01-01T00:00:00Z"
}
},
"scheduledDeliveryEnabled": false,
"pickupEnabled": true,
"pickupMinutesMinimum": 0,
"pickupMinutesMaximum": 15,
"pickupSchedule": {
"friday": {
"close": "1901-01-02T22:00:00.000Z",
"isOpen": true,
"open": "1901-01-01T09:00:00.000Z"
},
"monday": {
"close": "1901-01-02T21:00:00.000Z",
"isOpen": true,
"open": "1901-01-01T09:00:00.000Z"
},
"saturday": {
"close": "1901-01-02T22:00:00.000Z",
"isOpen": true,
"open": "1901-01-01T09:00:00.000Z"
},
"sunday": {
"close": "1901-01-02T21:00:00.000Z",
"isOpen": true,
"open": "1901-01-01T09:00:00.000Z"
},
"thursday": {
"close": "1901-01-02T21:00:00.000Z",
"isOpen": true,
"open": "1901-01-01T09:00:00.000Z"
},
"tuesday": {
"close": "1901-01-02T21:00:00.000Z",
"isOpen": true,
"open": "1901-01-01T09:00:00.000Z"
},
"wednesday": {
"close": "1901-01-02T21:00:00.000Z",
"isOpen": true,
"open": "1901-01-01T09:00:00.000Z"
}
},
"pickupTimeEstimate": 0,
"storeType": "dispensary",
"retailType": "dispensary",
"licenseNumber": "284.000290-AUDO",
"isApproved": true,
"offersMedicalCards": false,
"verifiesMedicalCards247": false,
"isAdaAccessible": true,
"acceptsCash": true,
"acceptsCreditCards": false,
"acceptsDebitCards": true,
"hasAtm": true,
"inStorePaymentsAccepted": true,
"onlinePaymentsAccepted": false,
"hasMenuItems": true,
"lastMenuUpdate": "2026-01-17T14:24:33.550Z",
"menuSyncOptionId": 397,
"orderIntegrationPartners": [],
"onlineFulfillmentEnabled": true,
"inStoreCartEnabled": false,
"hasChatEnabled": true,
"supportsSmsNotifications": true,
"hasReservationsEnabled": true,
"hasVeteranDiscount": true,
"organizationId": null,
"organizationName": null,
"organizationSlug": null,
"parentOrganizationId": null,
"topLevelOrganizationName": null,
"topLevelOrganizationSlug": null,
"reviews": [
{
"reviewId": "3671308",
"rating": 1.666666666666667,
"title": null,
"content": "when I walked in the door I said hello to the girl that asked for my ID she was friendly I said hello to the security guard he just looked at me rolled his eyes and kept looking at his phone... some very hateful eyes he can take them bad vibes and shove them where the sun don't shine with his angry mad at the world lame butt... imagine walking around that mad wasn't insufferable old man anyway for that reason and that reason alone I won't stop there considering the owner hires people that treat you different because of the color of your skin.",
"createdAt": "2025-05-30T12:18:03.042Z",
"language": "",
"wouldRecommend": false,
"wouldShopAgain": false,
"upvotesCount": 0,
"badges": [],
"staffResponse": null,
"staffResponseDate": null,
"userId": "5e68da6a-ead5-434f-a7cf-931338b33463",
"userName": "s........2"
}
]
}

๐Ÿ“ค Output can be exported as JSON, CSV, or Excel for easy analysis.


โš™๏ธ Execution & Reliability Notes

  • The actor runs at a controlled pace to minimize rate limits (429s) and blocking.
  • Additional requests are used to initialize sessions and resolve dispensary listings reliably.
  • Dispensaries are processed individually with built-in retries and defensive handling.
  • This design trades some speed for higher success rates, cleaner data, and predictable execution.

๐Ÿ”— Need Weedmaps dispensary data as well?

Check out the companion actor๐Ÿ‘‰ Weedmaps Dispensary Scraper.