Skip to main content
This guide uses Instagram. The steps for X and YouTube are the same. Replace instagram with x or youtube in each path. In step 3, send X status URLs or YouTube URLs.
Send the user to the returned url. Store the returned cl_ ID in the user’s browser session.
For X, send the same body to POST /v1/x/connect-links. The user signs in with X and approves access. For YouTube, send it to POST /v1/youtube/connect-links. The user signs in with YouTube and picks a channel.

2. Verify the result

After the redirect, compare connect_id with the stored cl_ ID. Then read the result from your server:
Use account.id from a successful result. Do not trust status or account data from the redirect query.

3. Add tracked media

A connect link does not need a project. A connected account belongs to the workspace, so every project can use it. Tracked media belongs to one project, so this step needs a project ID.

Get a project ID

Store a returned prj_ ID.

Add the media

Each result contains url, status, and submission. Store submission.id when it is present.
For X, send the request to POST /v1/x/submissions with an X account ID. Use status URLs such as https://x.com/acmestudio/status/1834567890123456789. We accept only videos that the connected account published. See Tracking media.
For YouTube, send the request to POST /v1/youtube/submissions with a YouTube account ID. Use URLs such as https://www.youtube.com/watch?v=aqz-KE-bpKQ. We accept only tracked media that the connected channel published. See Tracking media.

4. Read one item

Per-ID submission operations do not take project_id. The sub_ ID identifies the resource, and the API key supplies the workspace boundary.