---
title: "Top posts across your page's competitors"
method: GET
path: "/pages/{id}/competitors/top-posts"
tags: ["Competitors"]
---

# Top posts across your page's competitors

`GET /pages/{id}/competitors/top-posts`

Top posts across all tracked competitors, merged and ranked by sortBy (descending), each tagged with its competitor. Competitors only — your own posts are available via /posts. Instagram, Facebook, YouTube, TikTok, LinkedIn pages only.

## Path parameters

- `id` string, required

## Query parameters

- `sortBy` 'engagementRate' | 'likes' | 'views', required
- `limit` integer
- `range` '7d' | '30d' | '90d' | 'all'
- `scrapedPageIds` string[]
- `startDate` string, date-time
- `endDate` string, date-time

## Response `200`

Top competitor posts

- object
  - `data` object[], required
    - `scrapedPageId` string, required
    - `handle` string, required
    - `url` string, required
    - `content` string, nullable, required
    - `mediaType` string, nullable, required
    - `postedAt` string, date-time, required
    - `likes` number, required
    - `comments` number, required
    - `shares` number, nullable, required
    - `views` number, nullable, required
    - `engagementRate` number, nullable, required
    - `hashtags` string[], required

## Other responses

- `400` — Validation error or page type does not support competitor analytics
- `401` — Unauthorized
- `403` — Token cannot read this page or the Analytics add-on is inactive
- `404` — Page not found
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/planable/apis/planable-public-api.md) · [All operations](https://skmtc.net/planable/apis/planable-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/planable/planable-public-api/revisions/e91a4f756dfe/schema)
