# Upload-Post API Documentation > Upload-Post is a unified social media posting API: publish videos, photos, text and documents to TikTok, Instagram, YouTube, LinkedIn, Facebook, X (Twitter), Threads, Pinterest, Reddit, Bluesky, Discord, Telegram and Google Business Profile with a single REST call (POST https://api.upload-post.com/api/upload). Includes scheduling, analytics, comments/DMs, webhooks, an FFmpeg API and white-label integration. Key entry points: [Quickstart](https://docs.upload-post.com/quickstart), [API Reference](https://docs.upload-post.com/api/reference), [OpenAPI spec](https://docs.upload-post.com/openapi.json), [MCP server](https://docs.upload-post.com/guides/mcp-server-integration). The full documentation as one markdown file: [llms-full.txt](https://docs.upload-post.com/llms-full.txt). ## Getting Started - [Upload-Post API Overview](https://docs.upload-post.com/api/overview): Overview of the Upload-Post API: one REST API to post videos, photos and text to TikTok, Instagram, YouTube, LinkedIn, Facebook, X and 7+ more platforms. - [API Reference](https://docs.upload-post.com/api/reference): Complete Upload-Post API reference: upload video, photos and text, schedule posts, analytics, comments, DMs and platform endpoints for 22 social networks. - [Upload-Post Social Media API](https://docs.upload-post.com/introduction): Upload-Post is a unified social media posting API: publish videos, photos and text to TikTok, Instagram, YouTube, LinkedIn, X and more with one REST call. - [Quickstart Guide](https://docs.upload-post.com/quickstart): Post your first video to TikTok or Instagram in minutes: create an API key, connect accounts and call POST /api/upload with a single curl command. - [SDK Examples](https://docs.upload-post.com/sdk-examples): Official Upload-Post SDKs with examples: Python (pip install upload-post) and JavaScript/Node (npm install upload-post), plus raw curl requests. ## Publish - [Upload Document](https://docs.upload-post.com/api/upload-document): Upload PDF, PPT/PPTX and DOC/DOCX files to LinkedIn as native document posts (carousel viewer) with POST /api/upload_document. - [Upload Photos](https://docs.upload-post.com/api/upload-photo): Photo upload API: POST /api/upload_photos publishes photos and carousels to Instagram, TikTok, Facebook, LinkedIn, X, Pinterest, Reddit and more platforms. - [Upload Text](https://docs.upload-post.com/api/upload-text): Text post API: POST /api/upload_text publishes text posts and threads to X (Twitter), LinkedIn, Facebook, Threads, Reddit, Bluesky, Telegram and more. - [Upload Video](https://docs.upload-post.com/api/upload-video): Video upload API: POST /api/upload publishes a video to TikTok, Instagram, YouTube, LinkedIn, Facebook, X and 9 more platforms in one multipart request. ## After you post - [Edit a Published Post](https://docs.upload-post.com/api/edit-post): POST /api/uploadposts/posts/edit: update caption or metadata on a live Facebook, LinkedIn, X, YouTube or Google Business post. Instagram has no edit API. - [Queue System](https://docs.upload-post.com/api/queue-system): Queue system API: add_to_queue=true auto-schedules posts to your next free time slot. Configure slots, timezone, active days and posts per slot via REST. - [Repost](https://docs.upload-post.com/api/repost): POST /api/uploadposts/posts/repost: reshare a LinkedIn post or retweet an X post from a connected profile. - [Retry a Failed Upload](https://docs.upload-post.com/api/retry-post): POST /api/uploadposts/posts/retry: re-enqueue a failed upload without re-uploading media. Pass request_id or job_id. - [Save a Pinterest Pin](https://docs.upload-post.com/api/save-pin): POST /api/uploadposts/posts/save: save (repin) a Pinterest pin onto a board. - [Manage Scheduled Posts](https://docs.upload-post.com/api/schedule-posts): Manage scheduled social posts via API: list them with GET /api/uploadposts/schedule, edit or cancel jobs created with the scheduled_date parameter. - [Unpublish a Published Post](https://docs.upload-post.com/api/unpublish-post): POST /api/uploadposts/posts/unpublish: delete a live post from Facebook, YouTube, X, LinkedIn, Pinterest, Bluesky and more. Instagram and TikTok have no delete API. - [Upload History](https://docs.upload-post.com/api/upload-history): GET /api/uploadposts/history: paginated history of all your social media uploads with per-platform results, job IDs and metadata. - [Upload Status](https://docs.upload-post.com/api/upload-status): GET /api/uploadposts/status: poll asynchronous uploads by request_id or scheduled posts by job_id and get per-platform upload results. - [Webhooks & Notifications](https://docs.upload-post.com/api/webhooks): Webhooks API: receive real-time POST notifications for upload results and social account connection changes instead of polling the status endpoint. ## Accounts - [Connect API (Build Your Own Connect Page)](https://docs.upload-post.com/api/connect-api): Connect API: build your own social account connection page. Server-side OAuth start endpoints return the authorize URL for each platform; a single-use state authenticates the callback — no hosted page required. - [Current User API](https://docs.upload-post.com/api/current-user): GET /api/uploadposts/me: validate your Upload-Post API key and fetch account email, plan and API usage. Quick health check for integrations. - [User Profiles API](https://docs.upload-post.com/api/user-profiles): User Profiles API: create a profile per end user, generate JWT connect links and manage social account connections for white-label integrations. - [Authentication](https://docs.upload-post.com/guides/authentication): How to authenticate with the Upload-Post API: generate an API key in the dashboard and send it as 'Authorization: Apikey ' on every request. - [Connecting Accounts](https://docs.upload-post.com/guides/connecting-accounts): Connect social accounts to Upload-Post: OAuth for most platforms, plus manual credentials for Discord webhooks, Telegram bots, Mastodon and WordPress. - [White-label Integration](https://docs.upload-post.com/guides/user-profile-integration): White-label guide: embed Upload-Post in your SaaS. Create a profile per user, generate a JWT connect URL, and post on their behalf via the API. ## Ads - [ChatGPT Ads](https://docs.upload-post.com/api/chatgpt-ads): Run ChatGPT Ads from the Upload-Post API: connect your OpenAI Ads account, create campaigns, ad groups and ads, upload creatives and pull performance insights. ## API Reference - [AI Shorts API](https://docs.upload-post.com/api/ai-shorts): AI Shorts API: send a short vertical video and get AI-written titles, descriptions, captions and hashtags per platform (YouTube, Instagram, TikTok, Facebook), or rewrite existing captions into another language. - [Audience Insights](https://docs.upload-post.com/api/audience): GET /api/uploadposts/audience: who follows a connected account, the hours they are online, daily follower gains and losses, profile actions and the category benchmark — one endpoint, a platform parameter. - [AutoDM Monitors](https://docs.upload-post.com/api/autodms): Instagram AutoDM API: 24/7 monitors that auto-send a private DM to every new commenter on a post. Start, pause, resume, stop and audit monitors via REST. - [Comments (all platforms)](https://docs.upload-post.com/api/comments): Unified Comments API: list, create, delete, and hide / like / pin comments on your posts across Instagram, Facebook, YouTube, LinkedIn and TikTok with one REST call. - [Pin a Facebook Page to a Profile](https://docs.upload-post.com/api/facebook-page): GET/POST/DELETE /api/uploadposts/users/facebook-page: pin one Facebook Page to a profile so every upload from that profile targets it without passing facebook_page_id. - [FFmpeg Editor API](https://docs.upload-post.com/api/ffmpeg-editor): FFmpeg API: run your own FFmpeg command safely on Upload-Post servers. Submit a job, poll its status, then download the processed video or image. - [Analytics API](https://docs.upload-post.com/api/get-analytics): Social media analytics API: followers, impressions, reach and per-post metrics for Instagram, TikTok, YouTube, LinkedIn, X, Facebook and more via REST. - [Get Facebook Pages](https://docs.upload-post.com/api/get-facebook-pages): GET /api/uploadposts/facebook/pages: list every Facebook Page connected to a profile and get the page_id required to post videos and photos. - [Get Google Business Locations](https://docs.upload-post.com/api/get-google-business-locations): GET /api/uploadposts/google-business/locations: list Google Business Profile locations of a connected account and get gbp_location_id for posting. - [Get Instagram Publishing Limit](https://docs.upload-post.com/api/get-instagram-publishing-limit): GET /api/uploadposts/instagram/publishing_limit: remaining Instagram content-publishing quota for a connected profile. - [Get LinkedIn Pages](https://docs.upload-post.com/api/get-linkedin-pages): GET /api/uploadposts/linkedin/pages: list LinkedIn company pages of a connected account and get the page ID to post as an organization. - [Get Pinterest Boards](https://docs.upload-post.com/api/get-pinterest-boards): GET /api/uploadposts/pinterest/boards: list public and secret Pinterest boards and get the board ID required to publish Pins via API. - [Reddit Detailed Posts](https://docs.upload-post.com/api/get-reddit-detailed-posts): GET /api/uploadposts/reddit/detailed-posts fetches a connected Reddit account's posts with complete media info: images, galleries and videos. - [Get Threads Publishing Limit](https://docs.upload-post.com/api/get-threads-publishing-limit): GET /api/uploadposts/threads/publishing_limit: remaining Threads posts and replies quota for a connected profile. - [Get TikTok Locations](https://docs.upload-post.com/api/get-tiktok-locations): GET /api/uploadposts/tiktok/locations: search TikTok places and get the location_id required to tag a location on a TikTok post. - [Get TikTok Trending Music](https://docs.upload-post.com/api/get-tiktok-music): GET /api/uploadposts/tiktok/music/trending: list TikTok's Commercial Music Library tracks and get the tiktok_music_id used on uploads. - [Get TikTok Publishing Settings](https://docs.upload-post.com/api/get-tiktok-settings): GET /api/uploadposts/tiktok/settings: the privacy levels a connected TikTok account is actually allowed to publish with, plus its maximum video duration and interaction switches. - [Pin a Google Business Location to a Profile](https://docs.upload-post.com/api/google-business-location): GET/POST/DELETE /api/uploadposts/users/google-business-location: pin one Google Business location to a profile so every upload from that profile publishes to that location without passing gbp_location_id. - [Google Business Reviews](https://docs.upload-post.com/api/google-business-reviews): Google Business reviews API: list reviews and post or delete replies on a connected Google Business Profile location in real time via REST. - [Comments](https://docs.upload-post.com/api/instagram-comments): Instagram comments API: fetch all comments on a post, send private DM replies to commenters, or post public replies, by media ID or post URL. - [Direct Messages](https://docs.upload-post.com/api/instagram-dms): Instagram DM API: send direct messages by user ID and list DM conversations on connected accounts, within Instagram's 24-hour messaging window. - [Media List](https://docs.upload-post.com/api/instagram-media): Media list API: GET /api/uploadposts/media returns recent posts, reels, videos, pins and tweets from Instagram, TikTok, YouTube, X and 6 more platforms. - [Pin a LinkedIn Page to a Profile](https://docs.upload-post.com/api/linkedin-page): GET/POST/DELETE /api/uploadposts/users/linkedin-page: pin one LinkedIn company Page to a profile so every upload from that profile posts as that Page without passing target_linkedin_page_id. - [Photo Format Requirements](https://docs.upload-post.com/api/photo-requirements): Photo format requirements per platform: formats, max file size, aspect ratios and carousel item limits for Instagram, TikTok, Facebook, Threads and more. - [Post actions](https://docs.upload-post.com/api/post-actions): Post-publish actions in the Upload-Post API: retry, unpublish, edit, repost and save a Pinterest pin. - [Search TikTok Music](https://docs.upload-post.com/api/search-tiktok-music): GET /api/uploadposts/tiktok/music/search: search TikTok's Commercial Music Library by song or artist and get the tiktok_music_id used on uploads. - [Suggestions (hashtags & keywords)](https://docs.upload-post.com/api/suggestions): GET /api/uploadposts/suggestions: hashtag suggestions with their view counts, and the terms people actually search around a keyword — one endpoint, a platform parameter. - [Video Format Requirements](https://docs.upload-post.com/api/video-requirements): Video format requirements per platform: codecs, max size and duration for TikTok, Instagram Reels, YouTube, LinkedIn, Facebook and X, plus auto-transcode. - [Set YouTube Thumbnail](https://docs.upload-post.com/api/youtube-thumbnail): Set or replace the custom thumbnail of a YouTube video after it has been published, from a file or a public URL. ## Guides - [Labeling AI-Generated Content](https://docs.upload-post.com/guides/ai-content-labeling): How to label AI-generated content when posting through the Upload-Post API: the is_ai_generated flag, per-platform mapping (TikTok, Instagram, YouTube, X) and EU AI Act transparency duties. - [AI Shorts Uploader](https://docs.upload-post.com/guides/ai-shorts-uploader): AI Shorts Uploader: built-in AI that watches your short video and writes platform-specific titles, descriptions and hashtags for YouTube, Instagram, TikTok. - [Airtable Integration](https://docs.upload-post.com/guides/airtable-integration): Post videos to TikTok, Instagram, YouTube and more straight from Airtable using an automation script and the Upload-Post API. - [Avoid Timeouts with Asynchronous Uploads](https://docs.upload-post.com/guides/async-uploads): Avoid HTTP timeouts on large uploads: set async_upload=true, get a request_id instantly, and poll the status endpoint for per-platform results. - [API Error Handling: Upload Endpoints](https://docs.upload-post.com/guides/error-handling): How Upload-Post upload endpoints report errors: HTTP 200 with per-platform success flags, 4xx/5xx codes, and how to handle each case in your code. - [Limit of uploads](https://docs.upload-post.com/guides/limit-of-uploads): Daily posting hard caps per connected account: TikTok 15, Instagram 50, YouTube 10, LinkedIn 150 and more, plus rolling 24h windows and 429 handling. - [Make Integration](https://docs.upload-post.com/guides/make-integration): Post to TikTok, Instagram, YouTube and more from Make (formerly Integromat) scenarios using the Upload-Post API, connected in 3 steps. - [MCP Server (ChatGPT / Claude / Cursor)](https://docs.upload-post.com/guides/mcp-server-integration): Connect Upload-Post's MCP server (mcp.upload-post.com/mcp) to ChatGPT, Claude or Cursor: 50 tools to publish, schedule and analyze social media by chat. - [n8n Integration](https://docs.upload-post.com/guides/n8n-integration): Automate social posting from n8n: configure the HTTP Request node with your Upload-Post API key to upload videos to TikTok, Instagram and YouTube. - [How to Post to Instagram with an API](https://docs.upload-post.com/guides/post-to-instagram-api): How to post Reels, photos, carousels and Stories to Instagram via API without building your own Meta app: Upload-Post's managed auth + POST /api/upload. - [How to Post to LinkedIn with an API](https://docs.upload-post.com/guides/post-to-linkedin-api): How to post to LinkedIn via API: publish video, images, text and documents to personal profiles or company pages with one Upload-Post REST call. - [How to Post to TikTok with an API](https://docs.upload-post.com/guides/post-to-tiktok-api): How to post a video to TikTok with an API: one curl call to Upload-Post's POST /api/upload, plus comments, first comment, keyword research and audience insights. No TikTok developer app, review or audit required. - [How to Post to X (Twitter) with an API](https://docs.upload-post.com/guides/post-to-x-twitter-api): How to post to X (Twitter) via API: publish tweets, auto-split threads, videos and images through Upload-Post without buying X API access yourself. - [How to Upload Videos to YouTube with an API](https://docs.upload-post.com/guides/post-to-youtube-api): How to upload videos to YouTube via API: POST /api/upload with title, description, tags, privacyStatus and thumbnails. No Google Cloud quota setup. - [Rate Limits & Polling Best Practices](https://docs.upload-post.com/guides/rate-limits): Upload-Post rate limits: X-RateLimit headers, recommended status-polling intervals, daily platform caps and 429 back-off best practices. - [Error: Reached Active User Cap](https://docs.upload-post.com/guides/reached-active-user-cap-error): Fix TikTok's reached_active_user_cap error: reconnect the TikTok account to move it to our new publishing route, or use the post_mode=MEDIA_UPLOAD inbox workaround. - [X Links Add-on](https://docs.upload-post.com/guides/x-links-addon): X Links add-on: Upload-Post strips URLs from X (Twitter) posts by default to avoid X's 13x per-post URL fee; this add-on lets you keep clickable links. - [Understanding YouTube API Quota Limits](https://docs.upload-post.com/guides/youtube-quota-explained): YouTube API quota explained (deprecated): Upload-Post now ships its own dedicated YouTube quota, so no Google Cloud project setup is needed anymore. ## Resources - [Social Media Character Limits](https://docs.upload-post.com/resources/character-limits): Text limits per social network: max caption, title and description lengths for X, Instagram, TikTok, LinkedIn, YouTube, Threads, Pinterest and more. - [Common Errors](https://docs.upload-post.com/resources/common-errors): Common Upload-Post errors and fixes: expired sessions, Instagram error 400, missing page IDs, 429 daily caps, timeouts and platform-specific failures. - [Frequently Asked Questions](https://docs.upload-post.com/resources/faq): Answers to the most common Upload-Post questions: API keys, connecting accounts, daily limits, video sizes, carousels, scheduling, billing and white-label. - [Pricing & Limits](https://docs.upload-post.com/resources/pricing-and-limits): Upload-Post plans and limits: Free $0 (10 uploads/mo), Basic $24/mo, Professional $50/mo, Advanced $147/mo, Business $438/mo, plus daily platform caps. - [Support](https://docs.upload-post.com/resources/support): Get help with Upload-Post: email info@upload-post.com, X @vcaverog and GitHub, and what to include in a support request for a fast resolution.