Post performance metrics

Returns a paginated list of individual posts with their performance metrics.

What is included per post:

  • Post metadata (ID, date, content type, content URL, image URL)
  • Creator profile information
  • Organic engagement metrics (engagements, impressions, engagement rate, estimated value, CPE, CPM)
  • Paid media metrics (paid engagements, impressions, engagement rate, paid CPE, paid CPM)

All posts within the requested date range are returned, including those with zero metric values.

Pagination

Results are paginated. Use pageSize (default: 50, max: 100) and pageNumber (1-indexed) to navigate pages. The response includes a pagination object with page, pageSize, totalPages, and totalItems.

Sorting

Use sortProperty to sort by one of the supported fields and sortDirection (ASC or DESC, default: DESC) to control the order.

Supported sortProperty values: engagements, impressions, engagementRate, estimatedValueGenerated, cpe, cpm, postDate, paidEngagements, paidImpressions, paidEngagementRate, paidCpe, paidCpm

Metric naming

  • Organic metrics use their plain name (e.g. engagements, impressions, cpm)
  • Paid metrics are prefixed with paid (e.g. paidEngagements, paidImpressions, paidCpm)
  • Tracking link metrics are prefixed with trackingLinks (e.g. trackingLinksClicks, trackingLinksConversions)
  • Affiliate link metrics are prefixed with affiliateLinks (e.g. affiliateLinksClicks, affiliateLinksSales, affiliateLinksRoi)
  • All metric fields are nullable — null indicates the metric is not available for the given data
Query Parameters
  • startDate
    Type: stringFormat: date-time
    required

    Start of the reporting period (inclusive). Format: YYYY-MM-DD.

  • endDate
    Type: stringFormat: date-time
    required

    End of the reporting period (inclusive). Format: YYYY-MM-DD.

  • instanceIds
    Type: array string[]

    One or more instance IDs to limit the query scope. If not provided, the query includes all instances accessible with the API credentials.

    Supported array formats: param=a,b,c (comma-separated), param=a&param=b (repeated key), or param[]=a&param[]=b (bracket syntax).

  • campaignIds
    Type: array number[] …50

    Filter results to specific campaigns. When omitted, all campaigns are included.

    Supported array formats: param=a,b,c (comma-separated), param=a&param=b (repeated key), or param[]=a&param[]=b (bracket syntax).

  • platform
    Type: array string[]enum

    Filter by top-level platform. Selecting a platform includes all its content types (e.g. instagram includes instagram_post, instagram_reel, instagram_story).

    Cannot be combined with contentType — provide only one of the two.

    When omitted (and contentType is also omitted), all platforms are included.

    Supported array formats: param=a,b,c (comma-separated), param=a&param=b (repeated key), or param[]=a&param[]=b (bracket syntax).

    values
    • instagram
    • tiktok
    • facebook
    • youtube
    • twitter
  • contentType
    Type: array string[]enum

    Filter by specific content type for granular filtering beyond top-level platforms.

    • instagram_post, instagram_reel, instagram_story — specific Instagram content formats
    • facebook_post, facebook_live, facebook_group, facebook_reel — specific Facebook content formats
    • tiktok, youtube_video, youtube_shorts — platform-specific types

    Cannot be combined with platform — provide only one of the two.

    When omitted (and platform is also omitted), all content types are included.

    Supported array formats: param=a,b,c (comma-separated), param=a&param=b (repeated key), or param[]=a&param[]=b (bracket syntax).

    values
    • instagram_post
    • instagram_reel
    • instagram_story
    • facebook_post
    • facebook_live
  • dateBasis
    Type: stringenum

    Controls which date dimension is used for filtering.

    • post_date (default): filters by the date the content was originally published. Best for analyzing content output and creator activity over time.
    • performance_date: returns metrics recorded within the requested date range, regardless of when the content was originally published. Best for understanding how campaigns performed during a specific reporting window.

    Example: a post published on Jan 5 that receives engagement on Feb 10 will appear in a Feb 1–28 query with performance_date, but in a Jan 1–31 query with post_date.

    values
    • post_date
    • performance_date
  • pageSize
    Type: number
    min:  
    1
    max:  
    100

    Number of items per page.

  • pageNumber
    Type: number
    min:  
    1
    max:  
    500

    Page number (1-indexed).

  • sortProperty
    Type: string

    Metric or field name to sort results by.

  • sortDirection
    Type: stringenum

    Sort direction.

    values
    • ASC
    • DESC
Responses
  • application/json
  • application/json
  • application/json
Request Example for get/v2/posts/performance
curl 'https://reporting.api.later.com/v2/posts/performance?startDate=2024-01-01&endDate=2024-12-31&instanceIds=instance_abc&instanceIds=instance_def&campaignIds=49761&campaignIds=49802&platform=instagram&platform=tiktok&contentType=instagram_reel&contentType=tiktok&dateBasis=post_date&pageSize=50&pageNumber=1&sortProperty=impressions&sortDirection=DESC' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "data": [
    {
      "campaignId": 49761,
      "contentImageUrl": "https://example.com/posts/abc123.jpg",
      "contentType": "instagram_post",
      "contentUrl": "https://www.instagram.com/p/ABC123/",
      "cpe": 0.24,
      "cpm": 35.29,
      "creatorId": 12345,
      "creatorProfile": {
        "contentType": "instagram_post",
        "fullName": "Jane Smith",
        "handleName": "janesmith",
        "profileImage": "https://example.com/profiles/jane_ig.jpg",
        "profileLink": "https://instagram.com/janesmith"
      },
      "engagementRate": 14.59,
      "engagements": 1240,
      "estimatedValueGenerated": 3200,
      "impressions": 8500,
      "instanceId": "instance_abc",
      "paidCpe": 0.79,
      "paidCpm": 57.69,
      "paidEngagementRate": 7.31,
      "paidEngagements": 380,
      "paidImpressions": 5200,
      "postDate": "2024-07-15T14:30:00.000Z",
      "postId": 1234
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalItems": 142,
    "totalPages": 3
  }
}