Skip to main content
SPS
Step-by-Step Setup 5-10 minutes

Social Post Search Setup

Social Media Basic
Need more detail? Read the full guide for config deep-dives and best practices.

Social Post Search Setup

Search and filter social media posts by platform, status, and date range. This quick-start covers authentication, building your first search query, and paginating through results.

Prerequisites

Before making your first Social Post Search call, confirm you have:

  • A GoHighLevel sub-account with existing social media posts (scheduled, published, or draft)
  • Access to Settings > Integrations > Private Integrations in your sub-account
  • A REST client such as Postman, Insomnia, or curl in your terminal
  • Your sub-account’s locationId (found in Settings > Business Profile)

You do not need connected social accounts to search existing posts, but you will need them to have posts to search in the first place.

Set Up Authentication

All Social Post Search 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 Search API,” and enable the social-media-posting scope. Click Save and copy the generated token.

Pass this token in the Authorization header of every request 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

Search posts using GET /social-media-posting/posts/search with query parameters:

GET /social-media-posting/posts/search?locationId=your-location-id&status=published&limit=20&offset=0
Authorization: Bearer {your-pit-token}

Supported filter parameters include:

  • locationId (required) — your sub-account ID
  • status — filter by "scheduled", "published", "draft", or "failed"
  • platform — filter by "facebook", "instagram", "twitter", "linkedin", "gmb", or "tiktok"
  • startDate and endDate — ISO 8601 date range for filtering by schedule or publish date
  • limit — number of results per page (default 20, max 100)
  • offset — pagination offset for fetching subsequent pages

Combine multiple filters to narrow results. For example, add &platform=instagram&status=published to find only published Instagram posts.

Handle the Response

A successful call returns a 200 status with an array of post objects and pagination metadata:

{
  "posts": [
    {
      "id": "post-123",
      "post": "Your caption text here",
      "status": "published",
      "platform": "instagram",
      "scheduleDate": "2026-03-05T10:00:00Z",
      "accountIds": ["acct-456"]
    }
  ],
  "total": 47,
  "limit": 20,
  "offset": 0
}

Use total, limit, and offset to calculate pagination. If total exceeds your limit, increment offset by limit and repeat the call until you have fetched all results.

Common errors: 400 means a filter parameter is malformed. 401 means your token is invalid. If the response returns an empty posts array, verify that your locationId is correct and that posts exist for the given filters.

Test Your Setup

Run through this checklist to confirm everything works:

  1. Search all posts with just locationId and verify results return
  2. Filter by status — add status=draft and confirm only drafts appear
  3. Filter by platform — add platform=facebook and confirm only Facebook posts return
  4. Test pagination — set limit=5 and increment offset to page through results
  5. Filter by date — add startDate and endDate to confirm date filtering works

If searches return unexpected results, double-check your locationId and ensure posts exist in the GHL Social Planner for the filters you are using.

Next Steps

Read the full Social Post Search Guide for advanced search patterns and reporting workflows. From here, explore Social Post CRUD for creating and managing posts and Social Tags for organizing content by tag.

Stay sharp. New guides and playbooks as they drop.