For developers

Post to Dribbble with the 1Post API

Post to Dribbble from code with one request: POST /v1/posts with your account id, the text and a schedule_at time. Dribbble has no text length that 1Post checks. 1Post allows up to 5 posts a day for each connected account, and a dry run checks a post against every rule first.

Updated 2026-10-26

Connect Dribbble first

  1. 01

    Open Accounts in 1Post and choose Connect.

  2. 02

    Pick Dribbble.

  3. 03

    Sign in with Dribbble and approve access for the account you want to post to.

  4. 04

    Choose the account in 1Post. It is ready to pick in the composer.

Then GET /v1/accounts returns the id of the Dribbble account to use in the request.

Send a post to Dribbble

Dribbble refuses a post without media, so upload the file first and put its id in media_ids (POST /v1/media/uploads, or POST /v1/media to fetch a public address). Then schedule the post.

Schedule a post
curl https://api.get1post.com/v1/posts \
  -H "Authorization: Bearer $ONEPOST_API_KEY" \
  -H "Idempotency-Key: dribbble-first-post" \
  -d '{"accounts":["ACCOUNT_ID"],"parts":[{"text":"Dashboard concept, light mode.","media_ids":["MEDIA_ID"]}],"schedule_at":"2026-11-02T15:00:00Z"}'

The reply is 202 with the post (status scheduled) and one destination for Dribbble, which moves from queued to published or failed.

What you can send to Dribbble

  • One image shot, exactly 400 x 300 or 800 x 600 pixels

Dribbble rules the request is checked against

RuleWhat 1Post checks
Text limitNo length check
Media acceptedImages
Images per post1
Image size in pixels400 x 300 or 800 x 600
ThreadsNo
First commentNo
Posts per day, per connected account (1Post)5

The same table with sources is on the Dribbble specs page.

Dribbble options in the request

  • Media is required: Dribbble refuses a post without it. Upload the file first (POST /v1/media/uploads, or POST /v1/media to fetch a public address) and list its id in the media_ids of a part.

Check the post before it is queued

Add "dry_run": true to test a post: nothing is kept, a valid one answers 200 and a broken one answers 422 naming the rule.

A refused request, abridged
{
  "error": {
    "code": "invalid_for_platform",
    "message": "dribbble refuses this post: Dribbble needs some content. (empty_text).",
    "fix": "Fix the rule named in the message and send the post again.",
    "retryable": false,
    "request_id": "REQUEST_ID"
  }
}

An assistant connected to the MCP server sends the same fields to create_post; set one up.

Try it

Start a trial

7-day trial for $1. Connect your accounts and schedule a week of posts in one sitting.

Start a trial
Free in your browser

Free tools

Count characters the way each network does, split threads and preview posts. No account needed.

Open the tools
For builders

API and MCP

Post to every network from your own code or assistant with one key, signed webhooks and idempotent requests.

See the API

Questions

Can I post to Dribbble with an API key?

Yes. A key with write scope can create, change and cancel Dribbble posts for the workspace it belongs to, with the role of the member who made it. See API authentication.

What happens if a Dribbble post breaks a rule?

The request is refused with invalid_for_platform and the failing rule is named. Fix it and send the request again, or send it with dry_run to test the fix first.

How many Dribbble posts can I send in a day?

Up to 5 for each connected account. A request that would pass that answers daily_cap with the time the day frees up.

Get this week’s posts scheduled

Connect your accounts, write once and let 1Post publish on time while you get on with the rest of your day.