Social Categories Setup
Retrieve content categories used to organize social media posts in GoHighLevel. Categories help you group posts by topic, campaign, or content type for better planning and reporting. This quick-start covers authentication, fetching categories, and using them with posts.
Prerequisites
Before making your first Social Categories call, confirm you have:
- A GoHighLevel sub-account with the Social Planner feature enabled
- Access to Settings > Integrations > Private Integrations in your sub-account
- A REST client such as Postman, Insomnia, or
curlin your terminal - Your sub-account’s
locationId(found in Settings > Business Profile)
Categories are typically created through the GHL dashboard under Marketing > Social Planner. You should have at least one category configured before testing the API.
Set Up Authentication
All Social Categories endpoints require a Private Integration Token (PIT) with the social-media-posting scope.
Navigate to Settings > Integrations > Private Integrations. Click Create New Integration, name it “Social Categories API,” and enable the social-media-posting scope. Click Save and copy the generated token.
Pass this token in the Authorization header as a Bearer token. Set your base URL to https://services.leadconnectorhq.com. Include the Version: 2021-07-28 header with each request.
Make Your First Call
Start by listing all categories for your location. Send a GET request:
GET /social-media-posting/categories?locationId=your-location-id
Authorization: Bearer {your-pit-token}
This returns all content categories configured for your sub-account. Each category includes an id, name, and optional color or description fields.
To retrieve a single category by its ID, call:
GET /social-media-posting/category/{categoryId}
Authorization: Bearer {your-pit-token}
Use category IDs when creating or filtering social posts. Pass the categoryId field in your POST /social-media-posting/post request body to assign a post to a specific category.
Handle the Response
A successful GET /social-media-posting/categories call returns a 200 status:
{
"categories": [
{
"id": "cat-001",
"name": "Promotions",
"color": "#FF5733"
},
{
"id": "cat-002",
"name": "Educational Content",
"color": "#33A1FF"
}
]
}
Store the category id values for use in post creation and search filtering. Categories are location-specific, so different sub-accounts may have different category lists.
Common errors: 401 means your token is invalid or the social-media-posting scope is not enabled. 404 on a single category lookup means the category ID does not exist. An empty categories array means no categories have been created in the GHL dashboard yet.
Test Your Setup
Run through this checklist to confirm everything works:
- List all categories with
GET /social-media-posting/categoriesand verify results match what you see in GHL - Get a single category with
GET /social-media-posting/category/{id}using an ID from the list - Create a post with
POST /social-media-posting/postthat includes thecategoryIdfield - Search posts by category using the Social Post Search endpoint with a category filter
- Cross-reference the results with the Social Planner view in GHL
If the categories list is empty, create a few categories in Marketing > Social Planner through the GHL dashboard first, then re-test the API.
Next Steps
Read the full Social Categories Guide for strategies on organizing content across multiple campaigns. From here, explore Social Tags for additional post organization and Social Post CRUD for creating categorized posts.