Weedmaps dispensary or delivery menu
A dispensary's or delivery service's menu with every filter of its menu page: keyword, category (e.g. flower, vape-pens, edibles, disposable), brand, effect/flavour tag, deal, verified products only, price range and 10 sorts. Each item: id, name, slug, category, brand, verified flag, price and every price option (weight or unit, sale and original price), THC and CBD, strain, online orderable, current deal, rating, image and raw. facets=true adds the menu's categories, brands, tag groups (with tag uuids for tag), price ranges and deals with counts. 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
| name | type | description |
|---|---|---|
slug | string | The listing slug. Example: stiiizy |
url | string | A weedmaps.com listing link, instead of slug. |
type | dispensary | delivery | doctor | store | venue | hemp_store | hemp_delivery | Listing type (default dispensary). Example: dispensary |
q | string | Keyword in the menu. |
category | string | Comma list of category slugs (see facets), e.g. flower or disposable. |
brand | string | Comma list of brand slugs, e.g. stiiizy. |
tag | string | Comma list of tag uuids from facets.tag_groups (effects, flavours...). |
deal | string | A deal slug from facets.deals, or any for every item on sale. |
verified | boolean | true: only brand-verified products. |
price_min | number | Minimum price. |
price_max | number | Maximum price. |
sort | position | price_asc | price_desc | name | thc_desc | cbd_desc | most_popular | newest | rating | recommended | Sort order. |
facets | boolean | true: add the menu's filter options with counts. |
page | integer | Page number. |
limit | integer | Items per page (1-50, default 24). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/weedmaps/v1/listing/menu?slug=stiiizy&type=dispensary" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/weedmaps/v1/listing/menu",
params={"slug": "stiiizy", "type": "dispensary"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/weedmaps/v1/listing/menu");
url.searchParams.set("slug", "stiiizy");
url.searchParams.set("type", "dispensary");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); 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)
{"listing_slug": "stiiizy","listing_type": "dispensary","applied_filters": {"q": null,"category": [],"brand": [],"tag": [],"deal": null,"price_min": null,"price_max": null,"sort": "position"},"updated_at": "2026-11-05T22:20:05.655Z","taxes_included": false,"total": 1840,"page": 1,"count": 24,"next_page": 2,"items": [{"id": 229201517,"name": "Guava - 7g White Label","slug": "stiiizy-white-label-guava-smalls-7g","category": "Indica","category_slug": "indica","edge_category": "Buds","brand": "STIIIZY","brand_slug": "stiiizy","verified": true,"price": {"label": "1/4 oz","unit": "ounce","quantity": "1/4","price": 23,"original_price": 23,"on_sale": false,"discount": null},"prices": [{"label": "1/4 oz","unit": null,"quantity": null,"price": 23,"original_price": 23,"on_sale": false,"discount": null}],"thc": 23.55,"thc_unit": "%","cbd": 0.1,"cbd_unit": "%","strain": null,"online_orderable": true,"current_deal": "Buy 2 Get 1 Up to 50% off Stiiizy","rating": 0,"reviews_count": 0,"description": null,"image": "https://images.weedmaps.com/pictures/listings/711/463/912/444696855_product_images_046e20b5-60b5-4364-8f80-7c292c4a01b0_8d01dcae-13b7-4ccf-8…","listing": null},{"id": 229199927,"name": "Lemon Thai - 7g White Label","slug": "stiiizy-white-label-lemon-thai-smalls-7g","category": "Indica","category_slug": "indica","edge_category": "Buds","brand": "STIIIZY","brand_slug": "stiiizy","verified": true,"price": {"label": "1/4 oz","unit": "ounce","quantity": "1/4","price": 23,"original_price": 23,"on_sale": false,"discount": null},"prices": [{"label": "1/4 oz","unit": null,"quantity": null,"price": 23,"original_price": 23,"on_sale": false,"discount": null}],"thc": 19.43,"thc_unit": "%","cbd": 0.09,"cbd_unit": "%","strain": null,"online_orderable": true,"current_deal": "Buy 2 Get 1 Up to 50% off Stiiizy","rating": 4.5,"reviews_count": 4,"description": null,"image": "https://images.weedmaps.com/products/002/579/155/avatar/1788374966-download.png","listing": null},"… 22 more"],"cached": false,"credits_used": 1}