Weedmaps Dispensary Scraper ๐ฟ
Pricing
Pay per usage
Weedmaps Dispensary Scraper ๐ฟ
Extract dispensary data from Weedmaps instantly. Scrape locations, hours, prices, reviews & product details across regions. Export as JSON or CSV. Ideal for market analysis, competitive research & inventory tracking. Fully automated, no coding needed.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Shahid Irfan
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Weedmaps Dispensary Scraper
Extract clean, structured Weedmaps data from product pages, dispensary listing pages, and listing detail pages using one actor input. The scraper auto-detects the URL type and returns flattened, deduplicated dataset records with null values removed.
Features
- Automatic URL type detection - Supports brand products, region listings, and listing detail URLs in one run.
- Clean flattened output - Converts nested objects into flat fields for easier filtering and exports.
- Null-free dataset - Removes empty and null values before saving records.
- Duplicate-safe records - Generates unique
record_idvalues and skips duplicates. - Formatted text fields - Converts intro and description HTML fields into cleaned text output.
Use Cases
Local Dispensary Discovery
Track dispensaries and deliveries for specific cities and compare listing changes over time.
Product Catalog Monitoring
Collect brand product listings from Weedmaps brand pages for pricing and assortment analysis.
Detail Page Enrichment
Capture listing profile details and menu entries from dispensary or delivery detail pages.
Data Warehousing
Export standardized records to BI tools, dashboards, and CRM workflows.
Supported URL Types
https://weedmaps.com/dispensaries/in/...https://weedmaps.com/deliveries/in/...https://weedmaps.com/dispensaries/{slug}https://weedmaps.com/deliveries/{slug}https://weedmaps.com/brands/{slug}/products
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | Yes | "https://weedmaps.com/dispensaries/in/united-states/new-york/new-york-city" | Primary Weedmaps URL. |
startUrls | String List | No | [] | Additional Weedmaps URLs to scrape in the same run. |
results_wanted | Integer | No | 20 | Maximum primary records per URL. |
max_pages | Integer | No | 10 | Pagination safety cap per URL. |
proxyConfiguration | Object | No | {"useApifyProxy": false} | Optional proxy configuration. |
Output Data
Each dataset item is flattened and cleaned.
| Field | Type | Description |
|---|---|---|
record_id | String | Unique deterministic ID used for deduplication. |
record_type | String | brand_product, listing, listing_detail, menu_item, or page_context. |
url_type | String | Detected source URL category. |
source_type | String | Internal collection context. |
id | Number | Entity ID when available. |
wmid | Number | Weedmaps listing ID when available. |
name | String | Entity name. |
slug | String | Entity slug. |
listing_type | String | Listing group such as dispensaries or deliveries. |
listing_slug | String | Listing slug for detail/menu records. |
brand_name | String | Brand name when available. |
description_text | String | Cleaned text description. |
intro_text | String | Cleaned text intro. |
web_url | String | Weedmaps page URL. |
source_url | String | Input URL that produced the record. |
api_url | String | Request URL used to fetch the data. |
page | Number | Page index for paginated results. |
position_on_page | Number | Position within page results. |
scraped_at | String | ISO timestamp. |
Additional flat fields may be present depending on URL type.
Usage Examples
Region Dispensary URL
{"startUrl": "https://weedmaps.com/dispensaries/in/united-states/new-york/new-york-city","results_wanted": 20}
Brand Products URL
{"startUrl": "https://weedmaps.com/brands/arctic-bakery/products","results_wanted": 20}
Mixed URL Run
{"startUrl": "https://weedmaps.com/dispensaries/in/united-states/new-york/new-york-city","startUrls": ["https://weedmaps.com/dispensaries/savo-group-inc-dba-alto","https://weedmaps.com/brands/arctic-bakery/products"],"results_wanted": 20,"max_pages": 10}
In the Apify UI, startUrls is entered as a string list (one URL per row).
Sample Output
{"record_id": "listing:dispensaries:362385:savo-group-inc-dba-alto","record_type": "listing","url_type": "region_listings","source_type": "region_listings","id": 362385,"wmid": 362385,"name": "ALTOCANNA","slug": "savo-group-inc-dba-alto","listing_type": "dispensaries","web_url": "https://weedmaps.com/dispensaries/savo-group-inc-dba-alto","source_url": "https://weedmaps.com/dispensaries/in/united-states/new-york/new-york-city","page": 1,"position_on_page": 1,"scraped_at": "2026-03-30T09:00:00.000Z"}
Tips for Best Results
Use Direct Weedmaps URLs
Use canonical Weedmaps links for products, listing regions, and listing detail pages.
Keep Run Scope Controlled
Use results_wanted and max_pages to optimize runtime and costs.
Keep Inputs Consistent
Use consistent city/state URLs when you need comparable data snapshots.
Integrations
- Google Sheets - Share and analyze exports quickly.
- Airtable - Build searchable dispensary and product datasets.
- Make - Trigger workflows after successful runs.
- Zapier - Connect scraped data to operational automations.
- Webhooks - Send data to custom services.
Export Formats
- JSON
- CSV
- Excel
- XML
Frequently Asked Questions
Can I scrape product, dispensary, and detail URLs together?
Yes. Provide one startUrl and optional startUrls; each URL is processed automatically.
Are null and empty values included?
No. Empty fields are removed before dataset writes.
Is the dataset flattened?
Yes. Nested fields are flattened for easier post-processing.
How are duplicate rows handled?
Each output record gets a deterministic record_id; duplicates are skipped in the same run.
Legal Notice
Use this actor responsibly and ensure compliance with applicable laws and website terms.