Skip to main content
GET
https://postsyncer.com/api/v1
posts
curl -X GET "https://postsyncer.com/api/v1/posts?page=1&per_page=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "data": [
    {
      "id": 123,
      "content": [
        {
          "text": "Exciting news! We've just launched our winter collection ❄️",
          "media": [
            {
              "id": 1594,
              "name": "file_example_MP4_1920_18MG.mp4",
              "url": "https://postsyncer-local.c6c56f7fb91dd557ca29aa14c4e7d980.r2.cloudflarestorage.com/media/12/5ee789eb-c88c-4af2-8449-54c6c0561f31.mp4?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=a4bcd089276d5d5b77253aa9b13fe59c%2F20250705%2Fauto%2Fs3%2Faws4_request&X-Amz-Date=20250705T131116Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=0ef23b86009e4cac6e160863a4b91f15b78270e5524f328fb764a9f22bdaffe3",
              "type": "video/mp4",
              "size": 17839845
            }
          ]
        }
      ],
      "status": "PUBLISHED",
      "posted_on": ["2023-12-15 02:00 PM"],
      "scheduled_at": null,
      "repeatable": false,
      "repeatable_times": null,
      "repeatable_gap": null,
      "repeatable_gap_unit": null,
      "remaining_posts": null,
      "workspace": {
        "id": 12,
        "name": "abdulmejidshemsuawel",
        "slug": "abdulmejidshemsuawel",
        "type": "PERSONAL",
        "logo": null,
        "timezone": "Africa/Addis_Ababa",
        "language": "en"
      },
      "labels": [
        {
          "id": 1,
          "name": "Product Launch",
          "color": "#ff0000"
        }
      ],
      "platforms": [
        {
          "platform": "twitter",
                          "posted_on": [
                    "2025-07-05 12:36"
                ],
          "status": "PUBLISHED",
          "settings": {
            "for_super_followers_only": false,
            "reply_settings": "everyone",
            "quote_tweet_id": null,
            "reply": {
                "in_reply_to_tweet_id": null
            },
            "community_id": null,
            "share_with_followers": true,
            "text": null,
            "poll": {
                "enabled": false
            }
          }
        }
      ],
      "auto_plug": null,
      "created_at": "2023-12-01 09:30 AM",
      "updated_at": "2023-12-15 02:00 PM"
    }
  ],
  "current_page": 1,
  "last_page": 5,
  "per_page": 20,
  "total": 95,
  "from": 1,
  "to": 20,
  "links": [
    {
        "url": "https://postsyncer.com/api/v1/posts?page=1",
        "label": "« Previous",
        "active": false
    },
    {
        "url": "https://postsyncer.com/api/v1/posts?page=1",
        "label": "1",
        "active": false
    },
    {
        "url": "https://postsyncer.com.test/api/v1/posts?page=2",
        "label": "2",
        "active": true
    }
    ...
  ]
}

List Posts

Retrieves a paginated list of posts from all workspaces that the authenticated user has access to. Posts are returned in reverse chronological order (newest first).

Request

page
integer
default:"1"
Page number for pagination
per_page
integer
default:"100"
Number of posts per page (maximum 100)
curl -X GET "https://postsyncer.com/api/v1/posts?page=1&per_page=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Response

data
array
Array of post objects
current_page
integer
Current page number
last_page
integer
Last page number
per_page
integer
Number of items per page
total
integer
Total number of posts
from
integer
Starting post number for current page
to
integer
Ending post number for current page
{
  "data": [
    {
      "id": 123,
      "content": [
        {
          "text": "Exciting news! We've just launched our winter collection ❄️",
          "media": [
            {
              "id": 1594,
              "name": "file_example_MP4_1920_18MG.mp4",
              "url": "https://postsyncer-local.c6c56f7fb91dd557ca29aa14c4e7d980.r2.cloudflarestorage.com/media/12/5ee789eb-c88c-4af2-8449-54c6c0561f31.mp4?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=a4bcd089276d5d5b77253aa9b13fe59c%2F20250705%2Fauto%2Fs3%2Faws4_request&X-Amz-Date=20250705T131116Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=0ef23b86009e4cac6e160863a4b91f15b78270e5524f328fb764a9f22bdaffe3",
              "type": "video/mp4",
              "size": 17839845
            }
          ]
        }
      ],
      "status": "PUBLISHED",
      "posted_on": ["2023-12-15 02:00 PM"],
      "scheduled_at": null,
      "repeatable": false,
      "repeatable_times": null,
      "repeatable_gap": null,
      "repeatable_gap_unit": null,
      "remaining_posts": null,
      "workspace": {
        "id": 12,
        "name": "abdulmejidshemsuawel",
        "slug": "abdulmejidshemsuawel",
        "type": "PERSONAL",
        "logo": null,
        "timezone": "Africa/Addis_Ababa",
        "language": "en"
      },
      "labels": [
        {
          "id": 1,
          "name": "Product Launch",
          "color": "#ff0000"
        }
      ],
      "platforms": [
        {
          "platform": "twitter",
                          "posted_on": [
                    "2025-07-05 12:36"
                ],
          "status": "PUBLISHED",
          "settings": {
            "for_super_followers_only": false,
            "reply_settings": "everyone",
            "quote_tweet_id": null,
            "reply": {
                "in_reply_to_tweet_id": null
            },
            "community_id": null,
            "share_with_followers": true,
            "text": null,
            "poll": {
                "enabled": false
            }
          }
        }
      ],
      "auto_plug": null,
      "created_at": "2023-12-01 09:30 AM",
      "updated_at": "2023-12-15 02:00 PM"
    }
  ],
  "current_page": 1,
  "last_page": 5,
  "per_page": 20,
  "total": 95,
  "from": 1,
  "to": 20,
  "links": [
    {
        "url": "https://postsyncer.com/api/v1/posts?page=1",
        "label": "« Previous",
        "active": false
    },
    {
        "url": "https://postsyncer.com/api/v1/posts?page=1",
        "label": "1",
        "active": false
    },
    {
        "url": "https://postsyncer.com.test/api/v1/posts?page=2",
        "label": "2",
        "active": true
    }
    ...
  ]
}

Code Examples

curl -X GET "https://postsyncer.com/api/v1/posts?page=1&per_page=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Error Codes

401
Unauthorized
Missing or invalid API token
403
Forbidden
Token does not have ‘posts’ permission