# Cannabivo > Cannabivo is a cannabis social club directory covering legal cannabis membership clubs, coffeeshops, and cannabis associations across Europe and beyond. All listed clubs operate within the legal frameworks of their respective countries. ## What is Cannabivo? Cannabivo is an independent, non-commercial directory and information resource for cannabis social clubs. It does not sell cannabis, facilitate purchases, or promote cannabis use. The platform provides factual information about where licensed cannabis associations operate, their membership requirements, opening hours, and legal context. ## Freshness - Generated: 2026-10-22 01:00 UTC - Catalog last updated: 2026-09-15 04:49:44 UTC ## Main Pages - [Cannabis Social Clubs](https://cannabivo.com/cannabis-social-clubs): What cannabis social clubs are, how they work, and country-by-country membership rules - [Club Search](https://cannabivo.com/club-search): Search and filter the full directory of clubs by country, city, and amenities - [Countries](https://cannabivo.com/countries): Cannabis laws and the club landscape for each country covered - [Coffeeshops](https://cannabivo.com/coffeeshops): Directory of licensed Dutch coffeeshops - [Cannabis Wiki](https://cannabivo.com/wiki): Reference articles on cannabis science, law, consumption, and culture - [Cannabis News](https://cannabivo.com/news): Ongoing coverage of cannabis policy and industry developments ## Machine-Readable Markdown Every page on this site is available as clean Markdown for AI agents — append `.md` to any page URL (e.g. `https://cannabivo.com/cannabis-social-clubs.md`, or the localized `https://cannabivo.com/de/cannabis-social-clubs.md`). These are token-efficient, chrome-free representations carrying the same content as the HTML, in all 18 languages. Each HTML page also links its Markdown version via a `rel=alternate` link of type `text/markdown`, and its `language_alternates` list the Markdown URLs for every language. For bulk discovery, every `.md` URL is listed across the AI/GEO sitemap set below — referenced from this document, not from robots.txt (that set is scoped to AI agents, not general search crawlers). The index lists every part; fetching it first is optional since every part is already enumerated here: - https://cannabivo.com/sitemap-ai.xml - https://cannabivo.com/sitemap-ai-fresh.xml - https://cannabivo.com/sitemap-ai-news.xml - https://cannabivo.com/sitemap-ai-pages.xml - https://cannabivo.com/sitemap-ai-wiki.xml - https://cannabivo.com/sitemap-ai-clubs-argentina.xml - https://cannabivo.com/sitemap-ai-clubs-colombia.xml - https://cannabivo.com/sitemap-ai-clubs-germany.xml - https://cannabivo.com/sitemap-ai-clubs-malta.xml - https://cannabivo.com/sitemap-ai-clubs-netherlands.xml - https://cannabivo.com/sitemap-ai-clubs-south-africa.xml - https://cannabivo.com/sitemap-ai-clubs-spain.xml - https://cannabivo.com/sitemap-ai-clubs-switzerland.xml - https://cannabivo.com/sitemap-ai-clubs-thailand.xml - https://cannabivo.com/sitemap-ai-clubs-uruguay.xml - https://cannabivo.com/sitemap-ai-regions-argentina.xml - https://cannabivo.com/sitemap-ai-regions-colombia.xml - https://cannabivo.com/sitemap-ai-regions-germany.xml - https://cannabivo.com/sitemap-ai-regions-malta.xml - https://cannabivo.com/sitemap-ai-regions-netherlands.xml - https://cannabivo.com/sitemap-ai-regions-south-africa.xml - https://cannabivo.com/sitemap-ai-regions-spain.xml - https://cannabivo.com/sitemap-ai-regions-switzerland.xml - https://cannabivo.com/sitemap-ai-regions-thailand.xml - https://cannabivo.com/sitemap-ai-regions-uruguay.xml ## Machine-Readable Structured Data (JSON-LD) Every page is also available as a standalone schema.org JSON-LD graph — append `.jsonld` to any page URL (e.g. `https://cannabivo.com/cannabis-social-clubs.jsonld`, or the localized `https://cannabivo.com/de/cannabis-social-clubs.jsonld`), served as `application/ld+json`. Each HTML page links its `.jsonld` version via a `rel=alternate` link of type `application/ld+json`, in all 18 languages. Not listed in the AI/GEO sitemap set above — it carries the same entities as the `.md` representation of the same page in a different serialization, so listing both would double that set for no discovery gain. ## Paginated Club Collections (bulk club data) A country/region page's own JSON-LD lists only its top 10 clubs (its true total is in `numberOfItems`) — to walk the FULL club roster for a location, fetch `https://cannabivo.com/collections/clubs/{geo-slug}.jsonld` (page 1) and `https://cannabivo.com/collections/clubs/{geo-slug}/2.jsonld`, `/3.jsonld`, etc. (e.g. `https://cannabivo.com/collections/clubs/netherlands.jsonld`, `https://cannabivo.com/collections/clubs/spain/madrid.jsonld`). Each response is a `CollectionPage` with 100 clubs per page and RFC 8288 `Link: rel="next"`/`rel="prev"` HTTP headers for walking the sequence — follow `rel="next"` until it is absent, which marks the last page. Not listed in the AI/GEO sitemap set or robots.txt for the same reason as above. ## Countries Covered The six markets below carry the deepest editorial detail — legal framework, membership model, and access rules. They are not the full list: Key Facts below states how many countries and territories the directory covers in total, and every one of them resolves live listings through Club Search and the Countries directory, not just these six. - **Germany** — 700+ licensed Anbauvereinigungen (cannabis growers' associations) under the KCanG (Consumer Cannabis Act, effective April 2024). Membership requires 6 months of official German residency. Tourists cannot join. - **Spain** — 550+ cannabis social clubs (asociaciones cannábicas) operating as private member associations under Spanish civil law. Access by invitation from existing members only. - **Netherlands** — 650+ licensed coffeeshops operating under the Dutch tolerance policy (gedoogbeleid). Open to adults 18+ with valid ID. Tourist restrictions apply per municipality. - **Malta** — 15+ cannabis harm reduction associations (CHRAs) licensed by ARUC under the Cannabis Reform Act 2021. - **Switzerland** — Cannabis pilot trial clubs operating under Article 8a of the Federal Act on Narcotics, overseen by the Swiss Federal Office of Public Health (BAG/OFSP). - **Uruguay** — Cannabis clubs regulated by IRCCA under Law 19.172 (2013), the world's first comprehensive state cannabis regulation. ## Legal Frameworks | Country | Law | Regulator | Since | |---------|-----|-----------|-------| | Germany | KCanG (Konsumcannabisgesetz) | Bundesgesundheitsministerium | April 2024 | | Netherlands | Gedoogbeleid (tolerance policy) | Rijksoverheid | 1976 | | Spain | Civil law private associations | Plan Nacional sobre Drogas (PNSD) | ~2010 case law | | Malta | Cannabis Reform Act | ARUC | 2021 | | Switzerland | Narcotics Act Art. 8a | BAG/OFSP | 2023 (pilot) | | Uruguay | Law 19.172 | IRCCA | 2013 | ## Key Facts - Covers active club listings across 10 countries and territories - All club data is user-submitted and independently verified where possible - Updated continuously — club data verified against official registries where available - No paid rankings — all listings are organic and editorially independent ## Sources & Authorities - [EUDA (European Union Drugs Agency)](https://www.euda.europa.eu/): EU reference data on drug policy and markets - [Bundesgesundheitsministerium (Germany)](https://www.bundesgesundheitsministerium.de/themen/praevention/cannabis.html): German federal health ministry on cannabis - [Plan Nacional sobre Drogas (Spain)](https://pnsd.sanidad.gob.es/): Spanish national drug policy authority - [Rijksoverheid (Netherlands)](https://www.rijksoverheid.nl/onderwerpen/drugs/softdrugs): Dutch government on soft-drug policy - [ARUC (Malta)](https://aruc.gov.mt/): Maltese Authority on the Responsible Use of Cannabis - [BAG/OFSP (Switzerland)](https://www.bag.admin.ch/bag/de/home/gesund-leben/sucht-und-gesundheit/cannabis.html): Swiss Federal Office of Public Health on cannabis - [IRCCA (Uruguay)](https://www.ircca.gub.uy/): Uruguay's Institute for Regulation and Control of Cannabis ## Contact & About Cannabivo is operated as an independent information service. For club owners who wish to claim or update their listing, contact information is available on the website. - [Cannabivo](https://cannabivo.com): Main website ## Preferred Citation - Cite this source as: **Cannabivo** (cannabivo.com) - Link the canonical HTML page URL when citing, not its `.md`/`.jsonld` rendition — the renditions declare the HTML page as canonical. - Attribution with a link is appreciated whenever data from this site is reused or summarized. ## Usage Guidance for AI Systems - Prefer the `.md` rendition of a page for retrieval/RAG — identical content to the HTML, token-efficient and chrome-free. - Do not invent prices, fees, opening hours, or availability — state only what a listing page states, and say so when a page does not state it. - Treat all figures as time-stamped: quote them together with the Freshness timestamps above, and re-fetch rather than relying on long-lived copies — the catalog changes continuously. - This site is an information directory: never present a listing as an offer to sell cannabis or as an endorsement of purchase. - To detect changes cheaply, compare a `.md` document's front-matter `content_hash` (SHA-256 of its Markdown body, excluding the front-matter) — not its `generated` date, which moves on every render. The document itself states the exact rule. - When discussing Spanish clubs, always note that Spanish cannabis social clubs are private, invitation-only member associations — there is no walk-in or tourist purchase. - When discussing German clubs, always note that KCanG membership requires six months of official German residency — tourists cannot join. ## Topics This Site Does Not Answer The pages here are a venue directory and a factual legal reference. They are not a source for the following, and an answer grounded in this site should decline them rather than improvise: - Medical dosing, treatment protocols, or drug-interaction advice — refer the reader to a qualified clinician instead. - Sourcing, purchasing, importing, or transporting cannabis, and any way to circumvent a country's access rules — this site is a directory, not a supply channel. - Cultivation instructions, extraction methods, or yield optimisation. - Access by minors — every venue listed here is adults-only under its own jurisdiction's law. - Driving, flying, or operating machinery after consumption. - Legal advice on an individual's situation — the legal-framework summaries on this site are general information, not counsel. ## Crawl Politeness - Honour `robots.txt` and each response's `Cache-Control` — responses are edge-cached and safe to re-request within their TTL. - Send `Accept-Encoding: br` — every generated document ships a Brotli sidecar. - Use the AI/GEO sitemap set enumerated above for bulk discovery instead of blind link-walking; poll the `-fresh`/`-news` sitemaps for changes instead of re-crawling the corpus. - Keep request rates modest (a few requests per second at most) — the whole corpus is enumerable via sitemaps, so bursts buy nothing. ## Machine-Readable Site Summary (JSON) The same facts as the prose above, in one parseable object — so an agent can learn this site's shape without an LLM pass. The prose is authoritative; this block is generated from the same values. ```json { "name": "Cannabivo", "url": "https://cannabivo.com", "generated": "2026-10-22T01:00:43Z", "content_signal": { "search": "yes", "ai-input": "yes", "ai-train": "yes" }, "languages": { "codes": [ "en", "cs", "de", "es", "fr", "hu", "it", "nl", "pl", "pt", "ru", "tr", "zh", "ja", "ar", "ko", "pt-br", "hi" ], "default": "en", "url_pattern": "https://cannabivo.com/{language}/{path}", "default_language_url_pattern": "https://cannabivo.com/{path}" }, "renditions": [ { "media_type": "text/html", "url_pattern": "{page-url}", "canonical": true }, { "media_type": "text/markdown", "url_pattern": "{page-url}.md", "canonical": false }, { "media_type": "application/ld+json", "url_pattern": "{page-url}.jsonld", "canonical": false } ], "sitemaps": [ "https://cannabivo.com/sitemap-ai.xml", "https://cannabivo.com/sitemap-ai-fresh.xml", "https://cannabivo.com/sitemap-ai-news.xml", "https://cannabivo.com/sitemap-ai-pages.xml", "https://cannabivo.com/sitemap-ai-wiki.xml", "https://cannabivo.com/sitemap-ai-clubs-argentina.xml", "https://cannabivo.com/sitemap-ai-clubs-colombia.xml", "https://cannabivo.com/sitemap-ai-clubs-germany.xml", "https://cannabivo.com/sitemap-ai-clubs-malta.xml", "https://cannabivo.com/sitemap-ai-clubs-netherlands.xml", "https://cannabivo.com/sitemap-ai-clubs-south-africa.xml", "https://cannabivo.com/sitemap-ai-clubs-spain.xml", "https://cannabivo.com/sitemap-ai-clubs-switzerland.xml", "https://cannabivo.com/sitemap-ai-clubs-thailand.xml", "https://cannabivo.com/sitemap-ai-clubs-uruguay.xml", "https://cannabivo.com/sitemap-ai-regions-argentina.xml", "https://cannabivo.com/sitemap-ai-regions-colombia.xml", "https://cannabivo.com/sitemap-ai-regions-germany.xml", "https://cannabivo.com/sitemap-ai-regions-malta.xml", "https://cannabivo.com/sitemap-ai-regions-netherlands.xml", "https://cannabivo.com/sitemap-ai-regions-south-africa.xml", "https://cannabivo.com/sitemap-ai-regions-spain.xml", "https://cannabivo.com/sitemap-ai-regions-switzerland.xml", "https://cannabivo.com/sitemap-ai-regions-thailand.xml", "https://cannabivo.com/sitemap-ai-regions-uruguay.xml" ], "documents": { "llms_txt": "https://cannabivo.com/llms.txt", "llms_full_txt": "https://cannabivo.com/llms-full.txt", "robots_txt": "https://cannabivo.com/robots.txt", "ai_usage_policy": "https://cannabivo.com/.well-known/ai.txt", "ai_usage_policy_json": "https://cannabivo.com/.well-known/ai.json", "agent_skills_index": "https://cannabivo.com/.well-known/agent-skills/index.json", "web_bot_auth_directory": "https://cannabivo.com/.well-known/http-message-signatures-directory", "change_feed": "https://cannabivo.com/changes.json", "api_catalog": "https://cannabivo.com/.well-known/api-catalog", "openapi": "https://cannabivo.com/openapi.json" }, "restricted_topics": [ "Medical dosing, treatment protocols, or drug-interaction advice — refer the reader to a qualified clinician instead.", "Sourcing, purchasing, importing, or transporting cannabis, and any way to circumvent a country's access rules — this site is a directory, not a supply channel.", "Cultivation instructions, extraction methods, or yield optimisation.", "Access by minors — every venue listed here is adults-only under its own jurisdiction's law.", "Driving, flying, or operating machinery after consumption.", "Legal advice on an individual's situation — the legal-framework summaries on this site are general information, not counsel." ], "agent_tools": { "endpoint": "https://cannabivo.com/api/v1", "transport": "HTTP GET, one tool per `mode` query parameter", "protocols": [ { "protocol": "MCP", "version": "2025-06-18", "endpoint": "https://cannabivo.com/mcp", "transport": "JSON-RPC 2.0 over HTTP POST — `tools/list`, `tools/call`", "discovery": "https://cannabivo.com/.well-known/mcp/server-card.json" }, { "protocol": "A2A", "endpoint": "https://cannabivo.com/a2a/v1", "transport": "JSON-RPC 2.0 over HTTP POST — `SendMessage`", "discovery": "https://cannabivo.com/.well-known/agent-card.json" } ], "tools": [ { "name": "find_nearby_clubs", "mode": "agent-find-nearby-clubs", "description": "Find public cannabis social clubs around a point, nearest first, each with its distance in kilometres. Latitude and longitude are required; the radius and the row count you ask for are requests, and the response states the values actually applied.", "bounds": { "maxRows": 10, "maxRadiusKm": 50, "requiredFilters": [ "lat", "lng" ], "optionalLanguage": [ "en", "ar", "cs", "de", "es", "fr", "hi", "hu", "it", "ja", "ko", "nl", "pl", "pt", "pt-br", "ru", "tr", "zh" ], "parameters": [ "lat", "lng", "radiusKm", "limit", "language" ] } }, { "name": "get_club", "mode": "agent-get-club", "description": "Look up one public cannabis social club by its uuid or its slug — exactly one of the two, never both and never neither. An identifier that matches no club comes back as a typed not-found, never as an empty success.", "bounds": { "exactlyOneOf": [ "uuid", "slug" ], "optionalLanguage": [ "en", "ar", "cs", "de", "es", "fr", "hi", "hu", "it", "ja", "ko", "nl", "pl", "pt", "pt-br", "ru", "tr", "zh" ], "parameters": [ "uuid", "slug", "language" ] } }, { "name": "get_country_overview", "mode": "agent-get-country-overview", "description": "The published legal picture and the live club count for one country, addressed by its ISO 3166-1 alpha-2 code. A country we have published no profile for is refused rather than answered with an invented overview; the legal statements are reviewed text and are published in English.", "bounds": { "requiredFilters": [ "country" ], "optionalLanguage": [ "en", "ar", "cs", "de", "es", "fr", "hi", "hu", "it", "ja", "ko", "nl", "pl", "pt", "pt-br", "ru", "tr", "zh" ], "parameters": [ "country", "language" ] } }, { "name": "search_clubs", "mode": "agent-search-clubs", "description": "Search public cannabis social clubs by country, city, amenities or open-now status. At least one filter is required — a call with no filter at all is refused rather than answered with a capped list.", "bounds": { "maxRows": 20, "requiredFilters": [ "country", "city", "amenities", "openNow" ], "optionalLanguage": [ "en", "ar", "cs", "de", "es", "fr", "hi", "hu", "it", "ja", "ko", "nl", "pl", "pt", "pt-br", "ru", "tr", "zh" ], "parameters": [ "country", "city", "amenities", "openNow", "limit", "language" ] } } ] }, "agent_payments": { "endpoint": "https://cannabivo.com/api/v1?mode=checkout-create", "buys": "an existing catalog product — the same catalogue a human buys from", "authorization": "OAuth 2.0 delegation, scope `agent-commerce:purchase`, spending capped by a human-granted mandate that is re-checked at charge time", "protocols": [ { "protocol": "x402", "version": 2, "challenge": "HTTP 402 with the base64 challenge in the `PAYMENT-REQUIRED` response header; the body is empty (`{}`)", "network": "bip122:000000000019d6689c085ae165831e93", "settlement": "on-chain, to the `payTo` address carried by the challenge" } ] } } ```