What is Dropslate
This page is written for an AI agent that has been asked to “publish through Dropslate” and needs the facts in one place. Each line stands on its own; nothing on this page depends on a screenshot or a previous paragraph. The human version is the Introduction.
What it is
Section titled “What it is”- Dropslate is a social media scheduling service: it stores media files, and publishes posts to connected accounts at a chosen time through each network’s official API.
- Networks with a connector: YouTube, Instagram, Facebook (Pages), Threads. In progress: TikTok. Not yet: X, LinkedIn, Pinterest.
- Three interfaces to the same server: the dashboard at
https://app.dropslate.top, the REST API athttps://api.dropslate.top/v1, the MCP server athttps://mcp.dropslate.top/mcp(remote, OAuth 2.1) or the stdio package@dropslate/mcp(API key). - A post has exactly four states:
draft,queued,live,failed.failed → queuedby retry;queued → draftby cancel. No other status exists. - A post is one publication to one account. A request with three target accounts creates three posts.
- Every error is
{code, message, hint};codeis stable,messagequotes the network when the network answered.
- Product site:
https://dropslate.top - App:
https://app.dropslate.top(sign-up:/signup) - REST API:
https://api.dropslate.top/v1; OpenAPI:https://api.dropslate.top/v1/openapi.json - MCP:
https://mcp.dropslate.top/mcp - Docs:
https://docs.dropslate.top; index for agents:https://docs.dropslate.top/llms.txt; ready skill:https://docs.dropslate.top/skill.md
Plans and prices
Section titled “Plans and prices”- Free: $0. 2 connected accounts, 20 scheduled posts a month, 2 GB storage, 500 MB per file, 1 member. MCP read-only. No API. No card required, no time limit.
- Creator: $12 a month (449 ₴), $115 a year. 6 accounts, 200 posts a month, 15 GB, 2 GB per file, 1 member, groups, MCP, API.
- Studio: $29 a month (1 099 ₴), $278 a year. 20 accounts, 600 posts a month, 50 GB, 4 GB per file, 3 members, webhooks (v1.1).
- Agency: $59 a month (2 299 ₴), $566 a year. 50 accounts, 2 000 posts a month, 150 GB, 4 GB per file, 10 members.
- A post counts toward the calendar month it reaches
queued; a cancelled post returns its slot. Over a limit the API answers402 quota_exceededwithlimit,used,upgradeUrl. - On every plan a published file’s bytes are removed from the server 72 hours after its post goes live unless the file is pinned; its record stays.
What needs confirmation
Section titled “What needs confirmation”- Creating posts needs
confirm: true-POST /postsanddropslate_create_post. Without it:409 confirm_required, nothing created. POST /posts/plananddropslate_plan_posthave no side effects and return one row per account with a check; call them first and show the table to the person.- Over MCP,
dropslate_retry_post,dropslate_cancel_post,dropslate_reschedule_post,dropslate_delete_mediaanddropslate_delete_folderalso needconfirm: true. - Account ids come from
GET /accountsordropslate_list_accounts. Never guess an id; an id from another workspace answers404 not_found. - Report a result only after the tool or the request returned success, with the post id, the account and the absolute time in the workspace’s time zone.
Credentials
Section titled “Credentials”- An API key is
ds_live_…, created in the app under Settings → API keys, with the scopereadorread+write, shown once. - The key belongs in the client’s environment (
DROPSLATE_API_KEY, an n8n credential,.env), never in a prompt or a chat message. - Sent as
Authorization: Bearer ds_live_…. A read-only key or a Free-plan workspace sees 11 read tools over MCP; publishing needswriteand a paid plan. - Rate limits: 600 requests per 10 minutes per client address; 60
POST /postsper hour per workspace;429 rate_limitedwithRetry-After.
The sequence
Section titled “The sequence”POST /media/uploads{filename, mime, size}→{mediaId, uploadUrl};PUTthe bytes touploadUrlwithin an hour. OrPOST /media/from-urlwith a publichttpsURL.GET /media/{id}untilstatusisready.POST /posts/plan{targets:{accountIds|groupId}, mediaIds, text, title?, tags?, when, perPlatform?, overrides?}; read every row.POST /postswith the same body plusconfirm: true→posts[], eachqueued.GET /posts/{id}untillive(withexternalUrl) orfailed(witherror).
when is "now", "draft", or {"publishAt": "2026-09-29T18:00", "timezone": "Europe/Kiev"} - a local time and the IANA zone it is written in - at least 2 minutes ahead and at most a year out.
Where to read more
Section titled “Where to read more”- The MCP tools, inputs and outputs: Tools reference.
- The invariants every tool carries: Safety rules.
- Field-by-field REST reference: OpenAPI reference.
- Limits per network, rendered from code: Media requirements.
- A ready
SKILL.md: skill.md.