LateLate API
Core

Accounts

Connect and manage social media accounts across all supported platforms


List connected social accounts

Returns list of connected social accounts. By default, only returns accounts from profiles within the user's plan limit. Follower count data (followersCount, followersLastUpdated) is only included if user has analytics add-on.

GET
/v1/accounts
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Query Parameters

profileId?string

Filter accounts by profile ID

includeOverLimit?boolean

When true, includes accounts from profiles that exceed the user's plan limit. Useful for disconnecting accounts from over-limit profiles so they can be deleted.

Defaultfalse

Response Body

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/accounts"
{
  "accounts": [
    {
      "_id": "64e1...",
      "platform": "twitter",
      "profileId": {
        "_id": "64f0...",
        "name": "My Brand",
        "slug": "my-brand"
      },
      "username": "@acme",
      "displayName": "Acme",
      "profileUrl": "https://x.com/acme",
      "isActive": true
    }
  ],
  "hasAnalyticsAccess": false
}
{
  "error": "Unauthorized"
}

Get follower stats and growth metrics

Returns follower count history and growth metrics for connected social accounts. Requires analytics add-on subscription.

Data Freshness: Follower counts are automatically refreshed once per day.

GET
/v1/accounts/follower-stats
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Query Parameters

accountIds?string

Comma-separated list of account IDs (optional, defaults to all user's accounts)

profileId?string

Filter by profile ID

fromDate?string

Start date in YYYY-MM-DD format (defaults to 30 days ago)

Formatdate
toDate?string

End date in YYYY-MM-DD format (defaults to today)

Formatdate
granularity?string

Data aggregation level

Default"daily"
Value in"daily" | "weekly" | "monthly"

Response Body

application/json

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/accounts/follower-stats"
{
  "accounts": [
    {
      "_id": "64e1...",
      "platform": "twitter",
      "username": "@acme",
      "currentFollowers": 1250,
      "growth": 50,
      "growthPercentage": 4.17,
      "dataPoints": 30
    }
  ],
  "stats": {
    "64e1...": [
      {
        "date": "2024-01-01",
        "followers": 1200
      },
      {
        "date": "2024-01-02",
        "followers": 1250
      }
    ]
  },
  "dateRange": {
    "from": "2024-01-01T00:00:00.000Z",
    "to": "2024-01-31T23:59:59.999Z"
  },
  "granularity": "daily"
}
{
  "error": "Unauthorized"
}
{
  "error": "Analytics add-on required",
  "message": "Follower stats tracking requires the Analytics add-on. Please upgrade to access this feature.",
  "requiresAddon": true
}

Disconnect a social account

DELETE
/v1/accounts/{accountId}
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

accountIdstring

Response Body

application/json

application/json

application/json

curl -X DELETE "https://getlate.dev/api/v1/accounts/string"
{
  "message": "Account disconnected successfully"
}
{
  "error": "Unauthorized"
}
{
  "error": "Not found"
}

Update a social account

PUT
/v1/accounts/{accountId}
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

accountIdstring
username?string
displayName?string

Response Body

application/json

application/json

application/json

curl -X PUT "https://getlate.dev/api/v1/accounts/string" \  -H "Content-Type: application/json" \  -d '{    "displayName": "Acme Corporation Official"  }'
{
  "message": "Account updated successfully",
  "username": "@acmecorp",
  "displayName": "Acme Corporation Official"
}
Empty
{
  "error": "Unauthorized"
}
{
  "error": "Not found"
}

Check health of all connected accounts

Returns the health status of all connected social accounts, including token validity, permissions status, and any issues that need attention. Useful for monitoring account connections and identifying accounts that need reconnection.

GET
/v1/accounts/health
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Query Parameters

profileId?string

Filter by profile ID

platform?string

Filter by platform

Value in"facebook" | "instagram" | "linkedin" | "twitter" | "tiktok" | "youtube" | "threads" | "pinterest" | "reddit" | "bluesky" | "googlebusiness" | "telegram" | "snapchat"
status?string

Filter by health status

Value in"healthy" | "warning" | "error"

Response Body

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/accounts/health"
{
  "summary": {
    "total": 5,
    "healthy": 3,
    "warning": 1,
    "error": 1,
    "needsReconnect": 1
  },
  "accounts": [
    {
      "accountId": "abc123",
      "platform": "instagram",
      "username": "myaccount",
      "status": "healthy",
      "canPost": true,
      "canFetchAnalytics": true,
      "tokenValid": true,
      "tokenExpiresAt": "2025-06-15T00:00:00Z",
      "needsReconnect": false,
      "issues": []
    },
    {
      "accountId": "def456",
      "platform": "twitter",
      "username": "mytwitter",
      "status": "error",
      "canPost": false,
      "canFetchAnalytics": false,
      "tokenValid": false,
      "needsReconnect": true,
      "issues": [
        "Token expired"
      ]
    }
  ]
}
{
  "error": "Unauthorized"
}

Check health of a specific account

Returns detailed health information for a specific social account, including token status, granted permissions, missing permissions, and actionable recommendations.

GET
/v1/accounts/{accountId}/health
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

accountIdstring

The account ID to check

Response Body

application/json

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/accounts/string/health"
{
  "accountId": "abc123",
  "platform": "instagram",
  "username": "myaccount",
  "displayName": "My Account",
  "status": "healthy",
  "tokenStatus": {
    "valid": true,
    "expiresAt": "2025-06-15T00:00:00Z",
    "expiresIn": "180 days",
    "needsRefresh": false
  },
  "permissions": {
    "posting": [
      {
        "scope": "instagram_basic",
        "granted": true,
        "required": true
      },
      {
        "scope": "instagram_content_publish",
        "granted": true,
        "required": true
      }
    ],
    "analytics": [
      {
        "scope": "instagram_manage_insights",
        "granted": true,
        "required": false
      }
    ],
    "optional": [],
    "canPost": true,
    "canFetchAnalytics": true,
    "missingRequired": []
  },
  "issues": [],
  "recommendations": []
}
{
  "error": "Unauthorized"
}
{
  "error": "Not found"
}