Weedmaps deals near a place

GET https://api.api.sh/weedmaps/v1/deals
1 credit / call e-commerce try it in the playground →

Current dispensary and delivery deals near a place, as the Weedmaps deals page lists them: all, featured or organic deals, or one brand's deals. Each deal: title, description, type, discount, storewide flag, first-time-customer flag, time left, categories, brands, the store (name, slug, type, city, state), link, picture and raw; plus deal counts per product category and the brands with deals. Pass next_page back as page; null on the last page.

Every response includes credits_used: the credits this call cost.

Part of the Weedmaps API: 18 endpoints with prices, use cases and example responses.

Parameters

nametypedescription
location string A city, neighbourhood or ZIP/postal code (US or Canada), e.g. Los Angeles, CA. Or pass lat and lng. Example: Denver, CO
lat number Latitude (with lng), instead of location.
lng number Longitude (with lat).
kind all | featured | organic Which deals (default all).
brand_id integer Only deals for this brand (a brand id).
page integer Page number.
limit integer Deals per page (1-30, default 20).

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/weedmaps/v1/deals?location=Denver%2C+CO" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

Example response (real call, trimmed: lists cut to 2 items, long text shortened, raw left out)

{"location": {"latitude": 39.741681,"longitude": -104.986109,"name": "Denver, Colorado, United States"},"applied_filters": {"kind": "all","brand_id": null},"counts_by_category": {"indica": 0,"sativa": 0,"hybrid": 0,"edible": 0,"concentrate": 0,"drink": 0,"clone": 0,"seed": 0,"tincture": 0,"gear": 0,"topicals": 0,"preroll": 1,"wax": 0},"brands": [{"id": 63214,"name": "XVapes","slug": "xvapes","count": 5},{"id": 73270,"name": "Bonanza Cannabis Company","slug": "bonanza-cannabis-company","count": 4},"… 18 more"],"total": 33,"page": 1,"count": 20,"next_page": 2,"deals": [{"id": 820157,"title": "🔥$5.98 SMOKIEZ🤑$39/OZ BUD💚5/$19 JOINT mix&match","slug": "best-high-dispensary-4-56-craft-cartridges-1000mg","body": "$0.01 Flower 8th Mid Shelf (Silver) [] $39 Select Small Bud Ounce [] $50/OZ FLOWER Pre-pack [] $9.99 Select 1000mg Cartridges [] 8/$96 Rippy…","type": "featured","discount": null,"storewide": false,"first_time_customer": false,"expires_in_seconds": 74648,"categories": [],"brand_ids": [1824,73270,"… 3 more"],"claimed_count": 10175,"likes_count": 1,"listing": {"id": 334604,"wmid": 895354133,"name": "Best High Dispensary","slug": "best-invest-llc-dba-best-high","type": null,"city": "Denver","state": "Colorado"},"url": "https://weedmaps.com/dispensaries/best-invest-llc-dba-best-high/deals/best-high-dispensary-4-56-craft-cartridges-1000mg","image": "https://images.weedmaps.com/pictures/users/014/731/373/445368802_blob"},{"id": 1076815,"title": "💚$39/OZ BUD😁5/$19 JOINTS🍯$8/$48 WAX High%","slug": "best-high-dispensary-bryant-st-2-20-cart-1g-8-wax-43-oz-bud","body": "First Time Customers with any cannabis purchase $0.01 Flower 8th, $39 Select Small Bud Ounce [] 5/$19.95 Joints select brands [] $39.98 Disp…","type": "featured","discount": null,"storewide": true,"first_time_customer": false,"expires_in_seconds": 78248,"categories": [],"brand_ids": [],"claimed_count": 6006,"likes_count": 1,"listing": {"id": 357110,"wmid": 986763951,"name": "Best High Dispensary - Bryant St","slug": "best-invest-llc-dba-best-high-1","type": null,"city": "Denver","state": "Colorado"},"url": "https://weedmaps.com/dispensaries/best-invest-llc-dba-best-high-1/deals/best-high-dispensary-bryant-st-2-20-cart-1g-8-wax-43-oz-bud","image": "https://images.weedmaps.com/pictures/users/014/731/373/444708912_blob"},"… 18 more"],"cached": false,"credits_used": 1}
The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.