# How do I get TikTok Research API access as a non-academic?

TikTok. Checked September 2026.

You do not. TikTok grants Research API access to researchers at qualifying academic and non-profit institutions, after an application that checks affiliation and the research purpose. A company, an agency, a startup, or an independent developer does not qualify, and there is no paid tier that changes that.

For public profiles, videos, comments, hashtags, and search, use a public data API. Openhandle answers with one API key, no application, and 100 free requests to start.

## GET /v1/tiktok/search/posts?q=…

```bash
curl "https://api.openhandle.dev/v1/tiktok/search/posts?q=synthetic" \
  -H "Authorization: Bearer $OPENHANDLE_API_KEY"
```

```ts
import { OpenHandle } from '@openhandle/sdk';

const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
const page = await openhandle.tiktok.search.posts.list({ q: 'synthetic' });

for (const video of page.data) console.log(video.id, video.metrics.views);
```

200 OK:

```json
{
  "platform": "tiktok",
  "resource": "post",
  "capturedAt": "2026-09-18T12:16:02Z",
  "source": "live",
  "data": [
    {
      "id": "920100000000000001",
      "caption": "A synthetic orchard loop. #pixelorchard",
      "author": { "id": "920000000001", "handle": "pixel_orchard_tt_test" },
      "metrics": { "views": 23000, "likes": 1200, "comments": 24 }
    }
  ],
  "meta": { "cursors": { "next": "b3BhcXVlLWN1cnNvcg" } }
}
```

Trimmed to one video. The example is a Test fixture, so you can run it on a free Test key.

## What the Research API gives, and what you get instead

| Research API | Openhandle |
|---|---|
| Query videos by keyword, region, date, with an application | Search videos by keyword, no application. No date filter, so read on a schedule. |
| Public user info | Public profiles with followers, likes, bio, region |
| Comments on a video | Comments and replies on any public video |
| Daily quotas per project | 10 requests per second per key, billed per answered request |
| Academic and non-profit only | Anyone with a key |

## If you are a researcher

Apply. The Research API is the right tool for a study, with terms built for it. Openhandle can fill the gap while the application is pending, or cover what the Research API does not return. Openhandle is public data as TikTok shows it now, not a research archive.

## What we never do

Openhandle is read-only and public-only. It never logs in, posts, likes, or follows. Private accounts return `PROFILE_PRIVATE`. The [public data notice](/legal/public-data-notice) lists every limit.

## When this does not work

These answers are definitive. Store them, do not retry them.

| Situation | Status | Code |
|---|---|---|
| The account is private | 403 | `PROFILE_PRIVATE` |
| The account or video is gone | 404 | `PROFILE_NOT_FOUND or POST_NOT_FOUND` |
| The cursor came from another query | 400 | `CURSOR_MISMATCH` |

```json
{
  "error": {
    "code": "PROFILE_PRIVATE",
    "message": "This profile is private.",
    "requestId": "req_01j8…",
    "retryable": false
  }
}
```

A metric TikTok hides is `null`, never `0`. Failed requests are never billed.

## Related

- [TikTok without the Research API](https://openhandle.dev/docs/guides/tiktok-data-without-research-api): Commercial use of public TikTok data without the academic program.
- [Does TikTok have a public API?](https://openhandle.dev/questions/does-tiktok-have-a-public-api): Every official TikTok API and who it is for.
- [TikTok API](https://openhandle.dev/apis/tiktok): Every TikTok endpoint with examples.
