---
title: "Get the OAuth authorize URL for a platform"
method: GET
path: "/api/accounts/{platform}/authorize-url"
---

# Get the OAuth authorize URL for a platform

`GET /api/accounts/{platform}/authorize-url`

## Request

- Base URL: `https://api.seenpaid.com`
- URL: `https://api.seenpaid.com/api/accounts/{platform}/authorize-url`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.seenpaid.com/authorize`, token URL `https://api.seenpaid.com/token`, scopes: `accounts:write`)

For OAuth-based platforms (LinkedIn, X, Instagram, Facebook, TikTok, Mastodon, Reddit, Threads, Tumblr, Pinterest, VK), returns the URL a human must open to grant access. Not for direct-credential platforms (Bluesky, Discord, Telegram, etc.) — those use their own /connect endpoint below.

## Path parameters

- `platform` 'x' | 'bluesky' | 'linkedin' | 'instagram' | 'facebook' | 'tiktok' | 'discord' | 'telegram' | 'mastodon' | 'nostr' | 'devto' | 'hashnode' | 'medium' | 'reddit' | 'threads' | 'tumblr' | 'pinterest' | 'vk' | 'slack' | 'wordpress' | 'ghost' | 'lemmy' | 'webhook' | 'microblog' | 'matrix', required

## Query parameters

- `redirectUri` string, uri, required

## Response `200`

OK

- object
  - `success` true
  - `data` object
    - `url` string, uri
    - `state` string

## Other responses

- `400`: Request body failed Zod validation.
- `401`: Missing or invalid credential (API key or OAuth token).

---

[API](https://skmtc.dev/seenpaid/apis/seenpaid-api.md) · [All operations](https://skmtc.dev/seenpaid/apis/seenpaid-api/llms.txt) · [OpenAPI document](https://skmtc.dev/seenpaid/apis/seenpaid-api/revisions/7b3f72ed82e9?raw)
