---
updatedAt: 2026-09-02T08:42:31.000Z
agentTools:
  projectIndex: https://developer.weedmaps.com/v2026.01/llms.txt
---

# Retrieve the Root Categories and nested Sub-Categories

This operation retrieves the Weedmaps Category Taxonomy as a tree; with the Root Categories and nested Sub-Categories.

---

**⚠️ Common Error**

A Menu Item can only have one root Category link.

This means that our system is receiving a Category identifiers that are in different taxonomy branches.

---

💡 **Tip** 💡

You can sync our taxonomy of Categories or map them to your internal Taxonomy.

When creating or updating a Menu Item, be sure to send us the correlated Weedmaps identifiers including the Sub-Categories.

This link can directly improve search relevance, increase consumer engagement, and it elevates the visibility of the Menu Item within the Weedmaps ecosystem.

---

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Menu API",
    "description": "",
    "termsOfService": "https://weedmaps.com/legal/developer-terms",
    "contact": {
      "name": "Contact Us: Weedmaps",
      "url": "https://developer.weedmaps.com/v2026.01/docs/contact-us"
    },
    "version": "2026-01"
  },
  "servers": [
    {
      "url": "https://api-g.weedmaps.com/wm/2026-01/partners"
    }
  ],
  "tags": [
    {
      "name": "Taxonomy",
      "description": "The Weedmaps Taxonomy defines the set of resources you can link to your Menu Items, such as Strains, Categories, Discovery Tags, and Terpenes. These links help enrich and contextualize your Menu Items.\n",
      "externalDocs": {
        "description": "Weedmaps Taxonomy Guides",
        "url": "https://developer.weedmaps.com/v2026.01/docs/wm-taxonomy"
      }
    }
  ],
  "externalDocs": {
    "description": "Visit our Menu API Guides to Learn More about how you can integrate with Weedmaps.",
    "url": "https://developer.weedmaps.com/v2026.01/docs/wm-menu-api-getting-started"
  },
  "paths": {
    "/categories/tree": {
      "get": {
        "tags": [
          "Taxonomy"
        ],
        "description": "This operation retrieves the Weedmaps Category Taxonomy as a tree; with the Root Categories and nested Sub-Categories.\n\n---\n\n**⚠️ Common Error**\n\nA Menu Item can only have one root Category link.\n\nThis means that our system is receiving a Category identifiers that are in different taxonomy branches.\n\n---\n\n💡 **Tip** 💡\n\nYou can sync our taxonomy of Categories or map them to your internal Taxonomy.\n\nWhen creating or updating a Menu Item, be sure to send us the correlated Weedmaps identifiers including the Sub-Categories.\n\nThis link can directly improve search relevance, increase consumer engagement, and it elevates the visibility of the Menu Item within the Weedmaps ecosystem.\n\n---\n",
        "externalDocs": {
          "description": "Weedmaps Categories Guide",
          "url": "https://developer.weedmaps.com/v2026.01/docs/wm-categories"
        },
        "summary": "Retrieve the Root Categories and nested Sub-Categories",
        "operationId": "GET_CategoriesTree",
        "responses": {
          "200": {
            "description": "Successful Weedmaps Category Taxonomy Tree Retrieval",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CategoryRoot"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "422": {
            "$ref": "#/components/responses/422"
          }
        },
        "security": [
          {
            "oauth2": [
              "taxonomy:read"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "CategoryRoot": {
        "description": "A Root [Category](https://developer.weedmaps.com/v2026.01/docs/categories) in the Weedmaps Taxonomy.",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Field_Id"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Field_Name"
              },
              {
                "example": "Concentrates"
              }
            ]
          },
          "published": {
            "$ref": "#/components/schemas/Field_Published"
          },
          "slug": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Field_Slug"
              },
              {
                "example": "concentrates"
              }
            ]
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategoryNodeLevel2"
            }
          }
        },
        "type": "object",
        "required": [
          "id",
          "children"
        ]
      },
      "CategoryNodeLevel2": {
        "description": "A L2 Category",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Field_Id"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Field_Name"
              },
              {
                "example": "Solventless"
              }
            ]
          },
          "published": {
            "$ref": "#/components/schemas/Field_Published"
          },
          "slug": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Field_Slug"
              },
              {
                "example": "solventless"
              }
            ]
          },
          "children": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CategoryNodeLevel3"
              }
            }
          }
        },
        "type": "object"
      },
      "CategoryNodeLevel3": {
        "description": "A L3 Category",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Field_Id"
          },
          "published": {
            "$ref": "#/components/schemas/Field_Published"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Field_Name"
              },
              {
                "example": "Ice Water Hash"
              }
            ]
          },
          "slug": {
            "$ref": "#/components/schemas/Field_Slug"
          },
          "children": {
            "type": "array",
            "items": {},
            "maxItems": 0
          }
        },
        "type": "object"
      },
      "Errors_Forbidden": {
        "properties": {
          "detail": {
            "example": "Confirm that you are requesting all necessary scopes during token creation, and that the Listing has granted you access.",
            "type": "string"
          },
          "meta": {
            "description": "Non-standard meta information about this error.",
            "properties": {},
            "type": "object"
          },
          "status": {
            "example": 403,
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "example": "Forbidden",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Errors_Source": {
        "properties": {
          "parameter": {
            "description": "The URI query parameter that caused the error.",
            "example": "include",
            "type": "string"
          },
          "pointer": {
            "description": "The value in the request document that caused the error.",
            "example": "/data/attributes/name",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Errors_Unauthorized": {
        "properties": {
          "detail": {
            "example": "The access token is missing or invalid.",
            "type": "string"
          },
          "meta": {
            "description": "Non-standard meta information about this error.",
            "properties": {},
            "type": "object"
          },
          "status": {
            "example": 401,
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "example": "Unauthorized",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Errors_UnprocessableEntities": {
        "description": "Double-check you are sending all of the required attributes and the attributes you are sending are in expected format.\n",
        "properties": {
          "errors": {
            "items": {
              "$ref": "#/components/schemas/Errors_UnprocessableEntity"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Errors_UnprocessableEntity": {
        "properties": {
          "detail": {
            "example": "Name cannot be blank",
            "type": "string"
          },
          "meta": {
            "description": "Non-standard meta information about this error.",
            "properties": {},
            "type": "object"
          },
          "source": {
            "$ref": "#/components/schemas/Errors_Source"
          },
          "status": {
            "example": 422,
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "example": "Validation Failed",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Field_Id": {
        "description": "The primary identifier for a Weedmaps resource.",
        "example": 420,
        "type": "integer"
      },
      "Field_Name": {
        "description": "The name that is displayed on a Weedmaps.",
        "example": "Purple Urkle",
        "type": "string"
      },
      "Field_Published": {
        "description": "This field controls the public visibility of on Weedmaps.",
        "type": "boolean"
      },
      "Field_Slug": {
        "description": "URL-safe slug for this resource; may be used in lieu of `id` when performing some operations.",
        "type": "string",
        "example": "ice-water-hash"
      }
    },
    "responses": {
      "401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Errors_Unauthorized"
            }
          }
        }
      },
      "403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Errors_Forbidden"
            }
          }
        }
      },
      "422": {
        "description": "Unprocessable Entities",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Errors_UnprocessableEntities"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "oauth2": {
        "type": "oauth2",
        "description": "Client Credentials Authorization Server",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api-g.weedmaps.com/wm/auth/token",
            "scopes": {
              "public": "Read access to public endpoints",
              "menu_items": "Manage menu items",
              "brands:read": "View brands on Weedmaps",
              "menus:read": "View menu data for listings",
              "orders:eta:write": "Update order status",
              "products:read": "View the product catalog",
              "taxonomy:read": "View and search for categories and tags in the Weedmaps taxonomy"
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```