# Scrape Creators — Orthogonal API

> Pay-per-use API on Orthogonal. Each call is billed to your Orthogonal balance.
> Base API: `https://api.orth.sh/v1/run` · [llms.txt](https://orthogonal.com/llms.txt) · [browse all APIs](https://orthogonal.com/discover)

Social media data extraction API covering 22+ platforms including TikTok, Instagram, YouTube, Twitter/X, LinkedIn, Facebook, Reddit, Pinterest, Threads, Bluesky, and more.

**Verified:** yes

## Access

**Run API:** `POST https://api.orth.sh/v1/run`
**Auth:** `Authorization: Bearer $ORTHOGONAL_API_KEY`
Get an API key at https://orthogonal.com/dashboard/settings/api-keys

Every call goes through the unified Run API: send the API `slug`, the endpoint `path`, and the `query`/`body` parameters. The response is `{ "success": true, "price": "<usd>", "data": { ... } }`.

## Endpoints

### Komi

Komi

`GET /v1/komi`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL to Komi page |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/komi","method":"GET","query":{"url":"<string>"}}'
```

### Pillar

Pillar

`GET /v1/pillar`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL to Pillar page |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/pillar","method":"GET","query":{"url":"<string>"}}'
```

### Amazon Shop

Amazon Shop

`GET /v1/amazon/shop`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL to Amazon Shop page |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/amazon/shop","method":"GET","query":{"url":"<string>"}}'
```

### Linkme

Linkme

`GET /v1/linkme`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Linkme profile URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/linkme","method":"GET","query":{"url":"<string>"}}'
```

### Truth Social Webhook

Truth Social Webhook

`POST /v1/truthsocial/webhook`

**Estimated cost:** $0.02

_No parameters required._

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/truthsocial/webhook"}'
```

### Age and Gender

Age and Gender

`GET /v1/detect-age-gender`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL to users social profile |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/detect-age-gender","method":"GET","query":{"url":"<string>"}}'
```

### Get Ad

Get Ad

`GET /v1/reddit/ad`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Ad id |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/reddit/ad","method":"GET","query":{"id":"<string>"}}'
```

### TikTok

TikTok

`GET /v1/tiktok/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | TikTok handle |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/profile","method":"GET","query":{"handle":"<string>"}}'
```

### User's Audience Demographics

User's Audience Demographics

`GET /v1/tiktok/user/audience`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | TikTok handle |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/user/audience","method":"GET","query":{"handle":"<string>"}}'
```

### Transcript

Transcript

`GET /v2/instagram/media/transcript`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Instagram post or reel URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v2/instagram/media/transcript","method":"GET","query":{"url":"<string>"}}'
```

### Search Reels

Search Reels

`GET /v2/instagram/reels/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | The keyword to search for |
| `page` | number | No | The page number to return. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v2/instagram/reels/search","method":"GET","query":{"query":"<string>","page":"<number>"}}'
```

### Comments

Comments

`GET /v2/instagram/post/comments`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the post or reel to get comments from |
| `cursor` | string | No | The cursor to get more comments. Get 'cursor' from previous response. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v2/instagram/post/comments","method":"GET","query":{"url":"<string>","cursor":"<string>"}}'
```

### Reels

Reels

`GET /v1/instagram/user/reels`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `user_id` | string | No | Instagram user id |
| `handle` | string | No | Instagram handle |
| `max_id` | string | No | Cursor for pagination |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/instagram/user/reels","method":"GET","query":{"user_id":"<string>","handle":"<string>","max_id":"<string>","trim":"<string>"}}'
```

### Story Highlights

Story Highlights

`GET /v1/instagram/user/highlights`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `user_id` | string | No | Instagram user id. Use for faster response times. |
| `handle` | string | No | Instagram handle. Use user_id for faster response times. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/instagram/user/highlights","method":"GET","query":{"user_id":"<string>","handle":"<string>"}}'
```

### Highlights Details

Highlights Details

`GET /v1/instagram/user/highlight/detail`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | No | The ID of the highlight to get details for |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/instagram/user/highlight/detail","method":"GET","query":{"id":"<string>"}}'
```

### Transcript

Transcript

`GET /v1/tiktok/video/transcript`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | TikTok video URL |
| `language` | string | No | Language of the transcript. 2 letter language code, ie 'en', 'es', 'fr', 'de', 'it', 'ja', 'ko', 'zh' |
| `use_ai_as_fallback` | string | No | Set to 'true' to use AI as a fallback to get the transcript if the transcript is not found. Costs 10 credits to use this feature. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/video/transcript","method":"GET","query":{"url":"<string>","language":"<string>","use_ai_as_fallback":"<string>"}}'
```

### TikTok Live

TikTok Live

`GET /v1/tiktok/user/live`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | TikTok handle |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/user/live","method":"GET","query":{"handle":"<string>"}}'
```

### Following

Following

`GET /v1/tiktok/user/following`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | TikTok handle |
| `min_time` | number | No | Used to paginate. Get 'min_time' from previous response. |
| `trim` | boolean | No | Set to true to get a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/user/following","method":"GET","query":{"handle":"<string>","min_time":"<number>","trim":"<boolean>"}}'
```

### Followers

Followers

`GET /v1/tiktok/user/followers`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | No | TikTok handle |
| `user_id` | string | No | User id. Use this for faster response times. |
| `min_time` | number | No | Used to paginate. Get 'min_time' from previous response. |
| `trim` | boolean | No | Set to true to get a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/user/followers","method":"GET","query":{"handle":"<string>","user_id":"<string>","min_time":"<number>","trim":"<boolean>"}}'
```

### Search Users

Search Users

`GET /v1/tiktok/search/users`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Username to search for |
| `cursor` | string | No | Cursor to get more results |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/search/users","method":"GET","query":{"query":"<string>","cursor":"<string>","trim":"<string>"}}'
```

### Get popular songs

Get popular songs

`GET /v1/tiktok/songs/popular`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | number | No | Page number |
| `timePeriod` | select | No | Time period to get popular songs from |
| `rankType` | select | No | Get popular or surging songs |
| `newOnBoard` | boolean | No | New to top 100 |
| `commercialMusic` | boolean | No | Approved for business use? |
| `countryCode` | select | No | Country code to get popular songs from |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/songs/popular","method":"GET","query":{"page":"<number>","timePeriod":"<string>","rankType":"<string>","newOnBoard":"<boolean>","commercialMusic":"<boolean>","countryCode":"<string>"}}'
```

### Get Song Details

Get Song Details

`GET /v1/tiktok/song`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `clipId` | string | Yes | This is a little confusing because this isn't songId like you'd think. It is the clipId. I guess because you can clip different portions of a song 🤷‍♂️ |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/song","method":"GET","query":{"clipId":"<string>"}}'
```

### Post/Reel Info

Post/Reel Info

`GET /v1/instagram/post`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Instagram post or reel URL |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/instagram/post","method":"GET","query":{"url":"<string>","trim":"<string>"}}'
```

### Get popular creators

Get popular creators

`GET /v1/tiktok/creators/popular`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | number | No | Page number |
| `sortBy` | select | No | Sort creators by engagement, follower count, or average views |
| `followerCount` | select | No | Filter by follower count range |
| `creatorCountry` | select | No | Country code of the creator |
| `audienceCountry` | select | No | Country code of the audience/follower |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/creators/popular","method":"GET","query":{"page":"<number>","sortBy":"<string>","followerCount":"<string>","creatorCountry":"<string>","audienceCountry":"<string>"}}'
```

### Get popular hashtags

Get popular hashtags

`GET /v1/tiktok/hashtags/popular`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `period` | select | No | Time period in days (7, 30, or 120) |
| `page` | number | No | Page number |
| `countryCode` | select | No | Country code to get popular hashtags from |
| `newOnBoard` | boolean | No | Show only newly trending hashtags |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/hashtags/popular","method":"GET","query":{"period":"<string>","page":"<number>","countryCode":"<string>","newOnBoard":"<boolean>"}}'
```

### TikToks using Song

TikToks using Song

`GET /v1/tiktok/song/videos`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `clipId` | string | No | This is clipId. Can be found on a url like so: https://www.tiktok.com/music/That%27s-Who-I-Praise-7370375686554782506, where 7370375686554782506 is the clipId |
| `cursor` | number | No | The cursor to get the next page of results. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/song/videos","method":"GET","query":{"clipId":"<string>","cursor":"<number>"}}'
```

### Trending Feed

Trending Feed

`GET /v1/tiktok/get-trending-feed`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `region` | string | Yes | Where you want the proxy to be. This doesn't mean that you will only see TikToks from this region, you will just see the content that isn't banned in that region. |
| `trim` | boolean | No | Set to true to get a trimmed response. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/get-trending-feed","method":"GET","query":{"region":"<string>","trim":"<boolean>"}}'
```

### Product Details

Product Details

`GET /v1/tiktok/product`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the product to get details for. |
| `get_related_videos` | string | No | Whether to get related videos for the product. These are affiliate videos promoting the product. |
| `region` | string | No | Region the proxy will be set to so you can access products from that country. Use 2 letter country codes like US, GB, FR, etc. For England, don't use UK, use GB. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/product","method":"GET","query":{"url":"<string>","get_related_videos":"<string>","region":"<string>"}}'
```

### Product Reviews

Product Reviews

`GET /v1/tiktok/shop/product/reviews`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | No | The URL of the product (required if product_id is not provided) |
| `product_id` | string | No | The ID of the product (required if url is not provided) |
| `page` | number | No | The page number of the reviews |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/shop/product/reviews","method":"GET","query":{"url":"<string>","product_id":"<string>","page":"<number>"}}'
```

### Instagram

Instagram

`GET /v1/instagram/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Instagram handle |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/instagram/profile","method":"GET","query":{"handle":"<string>","trim":"<string>"}}'
```

### Basic Profile

Basic Profile

`GET /v1/instagram/basic-profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `userId` | string | No | Instagram user id |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/instagram/basic-profile","method":"GET","query":{"userId":"<string>"}}'
```

### YouTube

YouTube

`GET /v1/youtube/channel`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `channelId` | string | No | YouTube channel ID. Can pass a channelId, handle or url |
| `handle` | string | No | YouTube channel handle. Can pass a channelId, handle or url |
| `url` | string | No | YouTube channel URL. Can pass a channelId, handle or url |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/channel","method":"GET","query":{"channelId":"<string>","handle":"<string>","url":"<string>"}}'
```

### Channel Shorts

Channel Shorts

`GET /v1/youtube/channel/shorts`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | No | Can pass channelId or handle |
| `channelId` | string | No | Can pass channelId or handle |
| `sort` | select | No | Sort by newest or popular |
| `continuationToken` | string | No | Continuation token to get more videos. Get 'continuationToken' from previous response. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/channel/shorts","method":"GET","query":{"handle":"<string>","channelId":"<string>","sort":"<string>","continuationToken":"<string>"}}'
```

### Video/Short Details

Video/Short Details

`GET /v1/youtube/video`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | YouTube video or short URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/video","method":"GET","query":{"url":"<string>"}}'
```

### Search

Search

`GET /v1/youtube/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query |
| `uploadDate` | string | No | Upload date filter |
| `sortBy` | string | No | Sort by |
| `filter` | string | No | Content type filter |
| `continuationToken` | string | No | Continuation token for pagination |
| `includeExtras` | string | No | Include extra details |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/search","method":"GET","query":{"query":"<string>","uploadDate":"<string>","sortBy":"<string>","filter":"<string>","continuationToken":"<string>","includeExtras":"<string>"}}'
```

### Comments

Comments

`GET /v1/youtube/video/comments`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | YouTube video URL |
| `continuationToken` | string | No | Continuation token to get more comments. Get 'continuationToken' from previous response. |
| `order` | select | No | Order of comments |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/video/comments","method":"GET","query":{"url":"<string>","continuationToken":"<string>","order":"<string>"}}'
```

### Trending Shorts

Trending Shorts

`GET /v1/youtube/shorts/trending`

**Estimated cost:** $0.02

_No parameters required._

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/shorts/trending","method":"GET"}'
```

### Playlist

Playlist

`GET /v1/youtube/playlist`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `playlist_id` | string | Yes | The ID of the YouTube playlist. In the YouTube URL it will be the 'list' parameter. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/playlist","method":"GET","query":{"playlist_id":"<string>"}}'
```

### Community Post Details

Community Post Details

`GET /v1/youtube/community-post`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the YouTube community post to get |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/community-post","method":"GET","query":{"url":"<string>"}}'
```

### LinkedIn

LinkedIn

`GET /v1/linkedin/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | LinkedIn profile URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/linkedin/profile","method":"GET","query":{"url":"<string>"}}'
```

### Company Page

Company Page

`GET /v1/linkedin/company`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the LinkedIn company page to get |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/linkedin/company","method":"GET","query":{"url":"<string>"}}'
```

### Post

Post

`GET /v1/linkedin/post`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the LinkedIn post to get |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/linkedin/post","method":"GET","query":{"url":"<string>"}}'
```

### Facebook

Facebook

`GET /v1/facebook/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Facebook profile URL |
| `get_business_hours` | string | No | Set to true to get business hours |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/profile","method":"GET","query":{"url":"<string>","get_business_hours":"<string>"}}'
```

### Profile Reels

Profile Reels

`GET /v1/facebook/profile/reels`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Facebook page URL |
| `next_page_id` | string | No | To paginate through to the next page |
| `cursor` | string | No | To paginate through to the next page |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/profile/reels","method":"GET","query":{"url":"<string>","next_page_id":"<string>","cursor":"<string>"}}'
```

### Profile Photos

Profile Photos

`GET /v1/facebook/profile/photos`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Facebook page URL |
| `next_page_id` | string | No | To paginate through to the next page |
| `cursor` | string | No | To paginate through to the next page |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/profile/photos","method":"GET","query":{"url":"<string>","next_page_id":"<string>","cursor":"<string>"}}'
```

### Profile Posts

Profile Posts

`GET /v1/facebook/profile/posts`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | No | Facebook profile URL |
| `pageId` | string | No | Facebook profile page id |
| `cursor` | string | No | To paginate through the posts |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/profile/posts","method":"GET","query":{"url":"<string>","pageId":"<string>","cursor":"<string>"}}'
```

### Facebook Group Posts

Facebook Group Posts

`GET /v1/facebook/group/posts`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | No | The URL of the group |
| `group_id` | string | No | The ID of the group |
| `sort_by` | select | No | How to sort the posts |
| `cursor` | string | No | The cursor to paginate to the next page |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/group/posts","method":"GET","query":{"url":"<string>","group_id":"<string>","sort_by":"<string>","cursor":"<string>"}}'
```

### Post

Post

`GET /v1/facebook/post`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the post to get |
| `get_comments` | boolean | No | Whether you want to get the first several comments of the post |
| `get_transcript` | boolean | No | Whether you want to get the transcript of the post |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/post","method":"GET","query":{"url":"<string>","get_comments":"<boolean>","get_transcript":"<boolean>"}}'
```

### Transcript

Transcript

`GET /v1/facebook/post/transcript`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Facebook post URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/post/transcript","method":"GET","query":{"url":"<string>"}}'
```

### Comments

Comments

`GET /v1/facebook/post/comments`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | No | Facebook post URL (or reel URL) |
| `feedback_id` | string | No | Using feedback_id (instead of url) will *really* speed up the request. You can get the feedback_id when you make a request to /v1/facebook/post. |
| `cursor` | string | No | Cursor to get more comments. Get 'cursor' from previous response. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/post/comments","method":"GET","query":{"url":"<string>","feedback_id":"<string>","cursor":"<string>"}}'
```

### Facebook Ad Library

Facebook Ad Library

`GET /v1/facebook/adLibrary/ad`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | No | Ad ID |
| `url` | string | No | Ad URL |
| `get_transcript` | string | No | Set to true to get transcript |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/adLibrary/ad","method":"GET","query":{"id":"<string>","url":"<string>","get_transcript":"<string>","trim":"<string>"}}'
```

### Company Ads

Company Ads

`GET /v1/facebook/adLibrary/company/ads`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `pageId` | string | No | Facebook page ID |
| `companyName` | string | No | Company name |
| `country` | string | No | Country filter |
| `status` | string | No | Status filter |
| `media_type` | string | No | Media type filter |
| `language` | string | No | Language filter |
| `start_date` | string | No | Start date (YYYY-MM-DD) |
| `end_date` | string | No | End date (YYYY-MM-DD) |
| `cursor` | string | No | Cursor for pagination |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/adLibrary/company/ads","method":"GET","query":{"pageId":"<string>","companyName":"<string>","country":"<string>","status":"<string>","media_type":"<string>","language":"<string>","start_date":"<string>","end_date":"<string>","cursor":"<string>","trim":"<string>"}}'
```

### Search for Companies

Search for Companies

`GET /v1/facebook/adLibrary/search/companies`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Keyword to search for |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/adLibrary/search/companies","method":"GET","query":{"query":"<string>"}}'
```

### Post Comments

Post Comments

`GET /v1/reddit/post/comments`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Reddit post URL |
| `cursor` | string | No | Cursor to get more comments, or replies. |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/reddit/post/comments","method":"GET","query":{"url":"<string>","cursor":"<string>","trim":"<boolean>"}}'
```

### Ad Details

Ad Details

`GET /v1/google/ad`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The url of the ad |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/google/ad","method":"GET","query":{"url":"<string>"}}'
```

### Advertiser Search

Advertiser Search

`GET /v1/google/adLibrary/advertisers/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | The query to search for |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/google/adLibrary/advertisers/search","method":"GET","query":{"query":"<string>"}}'
```

### LinkedIn Ad Library

LinkedIn Ad Library

`GET /v1/linkedin/ads/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | No | Company name |
| `keyword` | string | No | Keyword to search |
| `countries` | string | No | Countries filter |
| `startDate` | string | No | Start date |
| `endDate` | string | No | End date |
| `paginationToken` | string | No | Pagination token |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/linkedin/ads/search","method":"GET","query":{"company":"<string>","keyword":"<string>","countries":"<string>","startDate":"<string>","endDate":"<string>","paginationToken":"<string>"}}'
```

### Ad Details

Ad Details

`GET /v1/linkedin/ad`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The url of the ad |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/linkedin/ad","method":"GET","query":{"url":"<string>"}}'
```

### Twitter

Twitter

`GET /v1/twitter/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Twitter handle |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/twitter/profile","method":"GET","query":{"handle":"<string>"}}'
```

### User Tweets

User Tweets

`GET /v1/twitter/user-tweets`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Twitter handle |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/twitter/user-tweets","method":"GET","query":{"handle":"<string>","trim":"<string>"}}'
```

### Tweet Details

Tweet Details

`GET /v1/twitter/tweet`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Tweet URL |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/twitter/tweet","method":"GET","query":{"url":"<string>","trim":"<string>"}}'
```

### Transcript

Transcript

`GET /v1/twitter/tweet/transcript`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Tweet URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/twitter/tweet/transcript","method":"GET","query":{"url":"<string>"}}'
```

### Community

Community

`GET /v1/twitter/community`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Community URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/twitter/community","method":"GET","query":{"url":"<string>"}}'
```

### Community Tweets

Community Tweets

`GET /v1/twitter/community/tweets`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Community URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/twitter/community/tweets","method":"GET","query":{"url":"<string>"}}'
```

### Reddit

Reddit

`GET /v1/reddit/subreddit/details`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `subreddit` | string | No | Subreddit name. MUST be case sensitive. So 'AskReddit' not 'askreddit'. |
| `url` | string | No | Subreddit URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/reddit/subreddit/details","method":"GET","query":{"subreddit":"<string>","url":"<string>"}}'
```

### Subreddit Posts

Subreddit Posts

`GET /v1/reddit/subreddit`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `subreddit` | string | Yes | Subreddit name (case sensitive) |
| `timeframe` | string | No | Timeframe filter |
| `sort` | string | No | Sort order |
| `after` | string | No | Cursor for pagination |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/reddit/subreddit","method":"GET","query":{"subreddit":"<string>","timeframe":"<string>","sort":"<string>","after":"<string>","trim":"<string>"}}'
```

### Google

Google

`GET /v1/google/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query |
| `region` | string | No | 2 letter country code, ie US, UK, CA, etc This will show results from that country |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/google/search","method":"GET","query":{"query":"<string>","region":"<string>"}}'
```

### Search Ads

Search Ads

`GET /v1/reddit/ads/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query |
| `industries` | select | No | Industries to filter by |
| `budgets` | select | No | Budgets to filter by |
| `formats` | select | No | Formats to filter by |
| `placements` | select | No | Placements to filter by |
| `objectives` | select | No | Objectives to filter by |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/reddit/ads/search","method":"GET","query":{"query":"<string>","industries":"<string>","budgets":"<string>","formats":"<string>","placements":"<string>","objectives":"<string>"}}'
```

### Truth Social

Truth Social

`GET /v1/truthsocial/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Truth Social username |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/truthsocial/profile","method":"GET","query":{"handle":"<string>"}}'
```

### User Posts

User Posts

`GET /v1/truthsocial/user/posts`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | No | Truth Social username |
| `user_id` | string | No | Truth Social user id. Use this for faster response times. Trumps is 107780257626128497. It is the 'id' field in the profile endpoint. |
| `next_max_id` | string | No | Used to paginate to next page |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/truthsocial/user/posts","method":"GET","query":{"handle":"<string>","user_id":"<string>","next_max_id":"<string>","trim":"<boolean>"}}'
```

### Post

Post

`GET /v1/truthsocial/post`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Truth Social post URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/truthsocial/post","method":"GET","query":{"url":"<string>"}}'
```

### Threads

Threads

`GET /v1/threads/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Threads username |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/threads/profile","method":"GET","query":{"handle":"<string>"}}'
```

### Posts

Posts

`GET /v1/threads/user/posts`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Threads username |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/threads/user/posts","method":"GET","query":{"handle":"<string>","trim":"<boolean>"}}'
```

### Post

Post

`GET /v1/threads/post`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the post to get |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/threads/post","method":"GET","query":{"url":"<string>","trim":"<boolean>"}}'
```

### Search Users

Search Users

`GET /v1/threads/search/users`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Username to search for |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/threads/search/users","method":"GET","query":{"query":"<string>"}}'
```

### Bluesky

Bluesky

`GET /v1/bluesky/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Bluesky handle |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/bluesky/profile","method":"GET","query":{"handle":"<string>"}}'
```

### Posts

Posts

`GET /v1/bluesky/user/posts`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | No | Bluesky handle |
| `user_id` | string | No | Bluesky 'did'. (For some reason Bluesky calls their user ids, 'did' for whatever reason) |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/bluesky/user/posts","method":"GET","query":{"handle":"<string>","user_id":"<string>"}}'
```

### Post

Post

`GET /v1/bluesky/post`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Bluesky post URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/bluesky/post","method":"GET","query":{"url":"<string>"}}'
```

### Search

Search

`GET /v1/pinterest/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query |
| `cursor` | string | No | Cursor |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/pinterest/search","method":"GET","query":{"query":"<string>","cursor":"<string>","trim":"<boolean>"}}'
```

### Pin

Pin

`GET /v1/pinterest/pin`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Pinterest pin URL |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/pinterest/pin","method":"GET","query":{"url":"<string>","trim":"<boolean>"}}'
```

### User Boards

User Boards

`GET /v1/pinterest/user/boards`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | The username of the user to get boards for. (e.g. broadstbullycom from https://www.pinterest.com/broadstbullycom/) |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/pinterest/user/boards","method":"GET","query":{"handle":"<string>","trim":"<boolean>"}}'
```

### Board

Board

`GET /v1/pinterest/board`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the board to get |
| `cursor` | string | No | The cursor to get the next page of results |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/pinterest/board","method":"GET","query":{"url":"<string>","cursor":"<string>","trim":"<boolean>"}}'
```

### Search

Search

`GET /v1/facebook/adLibrary/search/ads`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query |
| `sort_by` | string | No | Sort by |
| `search_type` | string | No | Search type |
| `ad_type` | string | No | Ad type filter |
| `country` | string | No | Country filter |
| `status` | string | No | Status filter |
| `media_type` | string | No | Media type filter |
| `start_date` | string | No | Start date (YYYY-MM-DD) |
| `end_date` | string | No | End date (YYYY-MM-DD) |
| `cursor` | string | No | Cursor for pagination |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/facebook/adLibrary/search/ads","method":"GET","query":{"query":"<string>","sort_by":"<string>","search_type":"<string>","ad_type":"<string>","country":"<string>","status":"<string>","media_type":"<string>","start_date":"<string>","end_date":"<string>","cursor":"<string>","trim":"<string>"}}'
```

### Search by Hashtag

Search by Hashtag

`GET /v1/youtube/search/hashtag`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `hashtag` | string | Yes | Hashtag to search for |
| `continuationToken` | string | No | Continuation token to get more videos. Get 'continuationToken' from previous response. |
| `type` | select | No | Search for all types of content or only shorts |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/search/hashtag","method":"GET","query":{"hashtag":"<string>","continuationToken":"<string>","type":"<string>"}}'
```

### Transcript

Transcript

`GET /v1/youtube/video/transcript`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | YouTube video or short URL |
| `language` | string | No | 2 letter language code, ie 'en', 'es', 'fr' etc. If the transcript is not available in the language you specify, the transcript will be null. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/video/transcript","method":"GET","query":{"url":"<string>","language":"<string>"}}'
```

### Twitch

Twitch

`GET /v1/twitch/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Twitch handle |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/twitch/profile","method":"GET","query":{"handle":"<string>"}}'
```

### Search by Hashtag

Search by Hashtag

`GET /v1/tiktok/search/hashtag`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `hashtag` | string | Yes | Hashtag to search for (without #) |
| `region` | string | No | Region the proxy will be set to |
| `cursor` | string | No | Cursor to get more results |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/search/hashtag","method":"GET","query":{"hashtag":"<string>","region":"<string>","cursor":"<string>","trim":"<string>"}}'
```

### Reels using Song

Reels using Song

`GET /v1/instagram/song/reels`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `audio_id` | string | Yes | If you're looking for this, it is sometimes called 'audio_cluster_id', or it can be just 'audio_id'. |
| `max_id` | string | No | How you paginate the results. Pass the max_id from the previous response to get the next set of reels. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/instagram/song/reels","method":"GET","query":{"audio_id":"<string>","max_id":"<string>"}}'
```

### Snapchat

Snapchat

`GET /v1/snapchat/profile`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Snapchat username |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/snapchat/profile","method":"GET","query":{"handle":"<string>"}}'
```

### Profile Videos

Profile Videos

`GET /v3/tiktok/profile/videos`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | TikTok handle |
| `user_id` | string | No | TikTok user id. Use this for faster responses. |
| `sort_by` | select | No | What to sort by |
| `max_cursor` | string | No | Cursor to get more videos. Get 'max_cursor' from previous response. |
| `region` | string | No | Region (Country) you want the proxy in. Defaults to US. |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v3/tiktok/profile/videos","method":"GET","query":{"handle":"<string>","user_id":"<string>","sort_by":"<string>","max_cursor":"<string>","region":"<string>","trim":"<boolean>"}}'
```

### TikTok Shop

TikTok Shop

`GET /v1/tiktok/shop/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Term you want to search for |
| `page` | number | No | Page number to retrieve |
| `region` | select | No | Region to search shop products in. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/shop/search","method":"GET","query":{"query":"<string>","page":"<number>","region":"<string>"}}'
```

### Search

Search

`GET /v1/reddit/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query |
| `sort` | select | No | Sort by |
| `timeframe` | select | No | Timeframe |
| `after` | string | No | Used to paginate to next page |
| `trim` | boolean | No | Set to true for a trimmed down version of the response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/reddit/search","method":"GET","query":{"query":"<string>","sort":"<string>","timeframe":"<string>","after":"<string>","trim":"<boolean>"}}'
```

### Linktree

Linktree

`GET /v1/linktree`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL to Linktree page |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/linktree","method":"GET","query":{"url":"<string>"}}'
```

### Top Search

Top Search

`GET /v1/tiktok/search/top`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Keyword to search for |
| `publish_time` | select | No | Time Frame TikTok was posted |
| `sort_by` | select | No | Sort by |
| `region` | string | No | Note, this doesn't filter the tiktoks only in a specfic region, it puts the proxy there. Use it in case you want to scrape posts only available for some country. Use 2 letter country codes like US, GB, FR, etc |
| `cursor` | number | No | Cursor to get more videos. Get 'cursor' from previous response. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/search/top","method":"GET","query":{"query":"<string>","publish_time":"<string>","sort_by":"<string>","region":"<string>","cursor":"<number>"}}'
```

### Kick

Kick

`GET /v1/kick/clip`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Kick clip URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/kick/clip","method":"GET","query":{"url":"<string>"}}'
```

### Linkbio

Linkbio

`GET /v1/linkbio`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL to Linkbio (lnk.bio) page |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/linkbio","method":"GET","query":{"url":"<string>"}}'
```

### Comments

Comments

`GET /v1/tiktok/video/comments`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | TikTok video URL |
| `cursor` | number | No | Cursor to get more comments. Get 'cursor' from previous response. |
| `trim` | boolean | No | Set to true to get a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/video/comments","method":"GET","query":{"url":"<string>","cursor":"<number>","trim":"<boolean>"}}'
```

### Video Info

Video Info

`GET /v2/tiktok/video`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | TikTok video URL |
| `get_transcript` | boolean | No | Get transcript of the video |
| `region` | string | No | Region of the proxy. Sometimes you'll need to specify the region if you're not getting a response. Commonly for videos from the Phillipines, in which case you'd use 'PH'. Use 2 letter country codes like US, GB, FR, etc |
| `trim` | boolean | No | Set to true to get a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v2/tiktok/video","method":"GET","query":{"url":"<string>","get_transcript":"<boolean>","region":"<string>","trim":"<boolean>"}}'
```

### Embed HTML

Embed HTML

`GET /v1/instagram/user/embed`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Instagram handle |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/instagram/user/embed","method":"GET","query":{"handle":"<string>"}}'
```

### Subreddit Search

Subreddit Search

`GET /v1/reddit/subreddit/search`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `subreddit` | string | Yes | Subreddit name (e.g. 'Fitness', not 'r/Fitness' or a full URL) |
| `query` | string | No | Search query to find matching content |
| `filter` | select | No | Type of content to search for (default: posts). Response will only include the matching key (e.g. filter=posts returns only 'posts', not 'comments' or 'media') |
| `sort` | select | No | Sort order. For posts/media: relevance, hot, top, new, comments. For comments: relevance, top, new |
| `timeframe` | select | No | Timeframe to filter results |
| `cursor` | string | No | Cursor to get more results. Get 'cursor' from previous response. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/reddit/subreddit/search","method":"GET","query":{"subreddit":"<string>","query":"<string>","filter":"<string>","sort":"<string>","timeframe":"<string>","cursor":"<string>"}}'
```

### Get popular videos

Get popular videos

`GET /v1/tiktok/videos/popular`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `period` | select | No | Time period in days (7 or 30) |
| `page` | number | No | Page number |
| `orderBy` | select | No | Sort videos by likes, views (hot), comments, or reposts |
| `countryCode` | select | No | Country code to get popular videos from |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/videos/popular","method":"GET","query":{"period":"<string>","page":"<number>","orderBy":"<string>","countryCode":"<string>"}}'
```

### Clip

Clip

`GET /v1/twitch/clip`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Twitch clip URL |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/twitch/clip","method":"GET","query":{"url":"<string>"}}'
```

### Channel Videos

Channel Videos

`GET /v1/youtube/channel-videos`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `channelId` | string | No | YouTube channel ID |
| `handle` | string | No | YouTube channel handle |
| `sort` | select | No | Sort by latest or popular |
| `continuationToken` | string | No | Continuation token to get more videos. Get 'continuationToken' from previous response. |
| `includeExtras` | string | No | This will get you the like + comment count and the description. To get the full details of the video, use the /v1/youtube/video endpoint. This will slow down the response slightly. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/youtube/channel-videos","method":"GET","query":{"channelId":"<string>","handle":"<string>","sort":"<string>","continuationToken":"<string>","includeExtras":"<string>"}}'
```

### Company Ads

Company Ads

`GET /v1/google/company/ads`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | No | The domain of the company |
| `advertiser_id` | string | No | The advertiser id of the company |
| `topic` | select | No | The topic to search for. If you search for 'political', you will also need to pass a 'region', like 'US' or 'AU' |
| `region` | string | No | The region to search for. Defaults to anywhere |
| `start_date` | string | No | Start date to search for. Format: YYYY-MM-DD |
| `end_date` | string | No | End date to search for. Format: YYYY-MM-DD |
| `get_ad_details` | string | No | Set to true to get the ad details. Will cost 25 credits. |
| `cursor` | string | No | Cursor to paginate through results |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/google/company/ads","method":"GET","query":{"domain":"<string>","advertiser_id":"<string>","topic":"<string>","region":"<string>","start_date":"<string>","end_date":"<string>","get_ad_details":"<string>","cursor":"<string>"}}'
```

### Posts

Posts

`GET /v2/instagram/user/posts`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `handle` | string | Yes | Instagram handle |
| `next_max_id` | string | No | Cursor for pagination |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v2/instagram/user/posts","method":"GET","query":{"handle":"<string>","next_max_id":"<string>","trim":"<string>"}}'
```

### Shop Products

Shop Products

`GET /v1/tiktok/shop/products`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The TikTok Shop store URL. |
| `cursor` | string | No | Cursor parameter from the previous response to retrieve the next page of products. Omit for the first page. |
| `region` | select | No | Region to get shop products from. Defaults to US if not provided. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/shop/products","method":"GET","query":{"url":"<string>","cursor":"<string>","region":"<string>"}}'
```

### Search by Keyword

Search by Keyword

`GET /v1/tiktok/search/keyword`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Keyword to search for |
| `date_posted` | string | No | Time frame filter |
| `sort_by` | string | No | Sort by |
| `region` | string | No | Region for proxy |
| `cursor` | string | No | Cursor to get more results |
| `trim` | string | No | Set to true for a trimmed response |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"scrapecreators","path":"/v1/tiktok/search/keyword","method":"GET","query":{"query":"<string>","date_posted":"<string>","sort_by":"<string>","region":"<string>","cursor":"<string>","trim":"<string>"}}'
```

---

Full details and an interactive quickstart: https://orthogonal.com/discover/scrapecreators
