> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # GetCategoryBySlug # Package: blog # Namespace: CategoryService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/blog/category/get-category-by-slug.md ## Permission Scopes: Read Blog : SCOPE.DC-BLOG.READ-BLOGS ## Introduction Gets a category with the specified slug. The slug is at the end of the URL of a specific category. For example, if a category's URL is `https://example.com/blog/categories/famous-cats`, the slug is `famous-cats`. The slug is a case-sensitive string that is derived from the category's label, unless specified otherwise. --- ## REST API ### Schema ``` Method: getCategoryBySlug Description: Gets a category with the specified slug. The slug is at the end of the URL of a specific category. For example, if a category's URL is `https://example.com/blog/categories/famous-cats`, the slug is `famous-cats`. The slug is a case-sensitive string that is derived from the category's label, unless specified otherwise. URL: https://www.wixapis.com/blog/v3/categories/slugs/{slug=**} Method: GET # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: slug Method parameters: query param name: fieldsets | type: array | description: List of additional category fields to include in the response. By default only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum. To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to retrieve the url field in the response in addition to the category’s base fields. - enum: - UNKNOWN: - URL: Includes category URL. - SEO: Includes SEO data. query param name: language | type: language | description: 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. Language of the category to retrieve. query param name: slug | type: slug | description: Slug of the category to retrieve. | required: true Return type: GetCategoryBySlugResponse - name: category | type: Category | description: Category info. - name: id | type: string | description: Category GUID. - name: label | type: string | description: Category label. Displayed in the Category Menu. - name: postCount | type: integer | description: Number of posts in the category. - name: url | type: PageUrl | description: The `url` of the page that lists every post with the specified category. - name: base | type: string | description: The base URL. For premium sites, this is the domain. For free sites, this is the site URL. For example, `mysite.wixsite.com/mysite`. - name: path | type: string | description: The relative path for the page within the site. For example, `/product-page/a-product`. - name: description | type: string | description: Category description. - name: displayPosition | type: integer | description: Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu). Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence. Default: `-1` - name: translationId | type: string | description: GUID of the category's translations. All translations of a single category share the same `translationId`. - name: language | type: string | description: Category language. 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. - name: slug | type: string | description: Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`. - name: seoData | type: SeoSchema | description: SEO data. - name: tags | type: array | description: SEO tag information. - name: type | type: string | description: SEO tag type. Supported values: `title`, `meta`, `script`, `link`. - name: props | type: object | description: A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value. For example: `{"name": "description", "content": "the description itself"}`. - name: meta | type: object | description: SEO tag metadata. For example, `{"height": 300, "width": 240}`. - name: children | type: string | description: SEO tag inner content. For example, ` inner content `. - name: custom | type: boolean | description: Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). - name: disabled | type: boolean | description: Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. - name: settings | type: Settings | description: SEO general settings. - name: preventAutoRedirect | type: boolean | description: Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled. Default: `false` (automatical redirect is enabled). - name: keywords | type: array | description: User-selected keyword terms for a specific page. - name: term | type: string | description: Keyword value. - name: isMain | type: boolean | description: Whether the keyword is the main focus keyword. - name: origin | type: string | description: The source that added the keyword terms to the SEO settings. - name: coverImage | type: Image | description: Category cover image. - name: id | type: string | description: WixMedia image GUID. - name: url | type: string | description: Image URL. - name: height | type: integer | description: Original image height. - name: width | type: integer | description: Original image width. - name: altText | type: string | description: Image alt text. - name: filename | type: string | description: Image filename. - name: updatedDate | type: string | description: Date and time the Category was last updated. ``` ### Examples ### GetCategoryBySlug ```curl ~~~cURL curl \ 'https://www.wixapis.com/blog/v3/categories/slugs/summer-slug' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' ~~~ ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.blog.CategoryService.getCategoryBySlug(slug, options) Description: Gets a category with the specified slug. The slug is at the end of the URL of a specific category. For example, if a category's URL is `https://example.com/blog/categories/famous-cats`, the slug is `famous-cats`. The slug is a case-sensitive string that is derived from the category's label, unless specified otherwise. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: slug Method parameters: param name: options | type: GetCategoryBySlugOptions none - name: fieldsets | type: array | description: List of additional category fields to include in the response. By default only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum. To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to retrieve the url field in the response in addition to the category’s base fields. - enum: - UNKNOWN: - URL: Includes category URL. - SEO: Includes SEO data. - name: language | type: string | description: 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. Language of the category to retrieve. param name: slug | type: string | description: Slug of the category to retrieve. The end of a category's URL. For example, `'https:/example.com/blog/category/{my-category-slug}'`. Case sensitive and generally based on the category `label` if not specified. | required: true Return type: PROMISE - name: category | type: Category | description: Category info. - name: _id | type: string | description: Category GUID. - name: label | type: string | description: Category label. Displayed in the Category Menu. - name: postCount | type: integer | description: Number of posts in the category. - name: url | type: string | description: The `url` of the page that lists every post with the specified category. - name: description | type: string | description: Category description. - name: displayPosition | type: integer | description: Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu). Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence. Default: `-1` - name: translationId | type: string | description: GUID of the category's translations. All translations of a single category share the same `translationId`. - name: language | type: string | description: Category language. 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. - name: slug | type: string | description: Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`. - name: seoData | type: SeoSchema | description: SEO data. - name: tags | type: array | description: SEO tag information. - name: type | type: string | description: SEO tag type. Supported values: `title`, `meta`, `script`, `link`. - name: props | type: object | description: A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value. For example: `{"name": "description", "content": "the description itself"}`. - name: meta | type: object | description: SEO tag metadata. For example, `{"height": 300, "width": 240}`. - name: children | type: string | description: SEO tag inner content. For example, ` inner content `. - name: custom | type: boolean | description: Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). - name: disabled | type: boolean | description: Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. - name: settings | type: Settings | description: SEO general settings. - name: preventAutoRedirect | type: boolean | description: Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled. Default: `false` (automatical redirect is enabled). - name: keywords | type: array | description: User-selected keyword terms for a specific page. - name: term | type: string | description: Keyword value. - name: isMain | type: boolean | description: Whether the keyword is the main focus keyword. - name: origin | type: string | description: The source that added the keyword terms to the SEO settings. - name: coverImage | type: string | description: Category cover image. - name: _updatedDate | type: Date | description: Date and time the Category was last updated. ``` ### Examples ### Get a category by its slug ```javascript import { categories } from '@wix/blog'; /* Sample slug value: * 'my-category' */ export async function getCategoryBySlugFunction(slug) { try { const result = await categories.getCategoryBySlug(slug); const label = result.category.label; const slugId = result.category._id; console.log('Retrieved Result:', result); return result; } catch (error) { console.error(error); } } /* Promise resolves to: * { * "category": { * "_id": "f489bf39-3297-4854-8429-e19dbefdca0e", * "coverImage": "wix:image://v1/162e66_f6bffd1cd6144ddf87325b82fe8f42ed~mv2.jpg#originWidth=385&originHeight=245", * "description": "my category description", * "displayPosition": 0, * "label": "My Category", * "language": "en", * "postCount": 1, * "slug": "my-category", * "title": "My Category", * "translationId": "dfc5b1a7-df04-4596-b311-9724f0477c3e" * } * } */ ``` ### Get a category by slug with additional fields ```javascript import { categories } from '@wix/blog'; /* Sample slug value: * 'my-category' * Sample options value: * { * fieldsets: [ * 'URL', * 'SEO' * ] * } */ export async function getCategoryBySlugFunction(slug, options) { try { const result = await categories.getCategoryBySlug(slug, options); const label = result.category.label; const slugId = result.category._id; const slugUrl = result.category.url; console.log('Retrieved Result:', result); return result; } catch (error) { console.error(error); } } /* Promise resolves to: * { * "category": { * "_id": "f489bf39-3297-4854-8429-e19dbefdca0e", * "coverImage": "wix:image://v1/162e66_f6bffd1cd6144ddf87325b82fe8f42ed~mv2.jpg#originWidth=385&originHeight=245", * "description": "my category description", * "displayPosition": 0, * "label": "My Category", * "language": "en", * "postCount": 1, * "seoData": { * "tags": [ * { * "type": "meta", * "props": { * "name": "description", * "content": "this is a category description" * }, * "children": "", * "custom": false, * "disabled": false * } * ] * }, * "slug": "my-category", * "title": "My Title", * "translationId": "dfc5b1a7-df04-4596-b311-9724f0477c3e", * "url" : "http://https://tadasz7.wixsite.com/blog-velo-events/my-blog/categories/my-category" * } * } */ ``` ### getCategoryBySlug (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { categories } from '@wix/blog'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { categories }, // Include the auth strategy and host as relevant }); async function getCategoryBySlug(slug,options) { const response = await myWixClient.categories.getCategoryBySlug(slug,options); }; ``` ---