How To Get Categories Through Magento 2 REST API? Last Updated on 4 August 20254 August 2025 Mark Mac Magento In this blog post, we will show you how to get the categories from a Magento website by using the Magento REST API. Therefore, you can use a tool to access the API. Here we are using Postman. And to get the category list, first, we need to get the access token of the admin user: Endpoint: “http(s)://yourdomain.com/rest/V1/integration/admin/token” Method: POST Table of Contents Toggle Request:For example:For example:For example: Request: { "username" : "string", "password" : "string" } Response: “token” (string) For example: Magento system will check whether that username is available or not, then API will return the access token as a string. For example: If your username and password are not correct, the API will return errors like the following: Now, we have the access token. Let’s begin to get the categories data from API. Endpoint: “http(s)://yourdomain.com/rest/ V1/categories/list” Method: GET Request: searchCriteria. Header: Authorization : Bearer (Token) Response: token(string) For example: If the access token is correct, the API will return the Customer’s information. For example: If the access token is incorrect, the API will return errors as below: Magento 2 doesn’t support get all categories but they allow us to get a specific category that contains children category. Endpoint: “http(s)://yourdomain.com/graphql” Query structure: category ( id: int ): CategoryTree Request example: { category(id: 20) { products { total_count page_info { current_page page_size } } children_count children { id level name path children { id level name path children { id level name path children { id level name path } } } } } } Response example: { "data": { "category": { "products": { "total_count": 0, "page_info": { "current_page": 1, "page_size": 20 } }, "children_count": "8", "children": [ { "id": 21, "level": 3, "name": "Tops", "path": "1/2/20/21", "children": [] }, { "id": 22, "level": 3, "name": "Bottoms", "path": "1/2/20/22", "children": [ { "id": 27, "level": 4, "name": "Pants", "path": "1/2/20/22/27", "children": [] }, { "id": 28, "level": 4, "name": "Shorts", "path": "1/2/20/22/28", "children": [] } ] } ] } } } Now let’s write down the endpoint and your request: And then click run to send the request to the server. API will return a response which has data like below: That’s it! We hope this post has been helpful for you. Mark Mac Mark Mac is our adept Project Lead at Tigren. A skilled problem solver and expert developer, Mark's leadership in web/app projects is evident through his strategic thinking and technical prowess. Committed to propelling businesses forward in the dynamic tech landscape, Mark ensures excellence in every endeavor. Share Table of Contents Toggle Request:For example:For example:For example: