ReelspanUpload guidesPinterest

Post to Pinterest automatically

Connect Pinterest once, then send videos and photos to it from code, a workflow or an AI agent. The same call can post to every other network at the same time.
Sign in with Pinterest500 characters2:39:167 sections

01

Connect Pinterest

  1. In the dashboard, open Accounts and pick Pinterest.
  2. Sign in with Pinterest and allow Reelspan to post.
  3. The account joins the profile you had open; every post to that profile can now include it.

Posting for clients? Send them a connect link so they connect their own Pinterest account without a Reelspan login.

02

Get an API key

In the dashboard, open Developers → API keys and create one. Keep it in an environment variable such as REELSPAN_KEY; never in code you share.

03

Post with one request

Send the video as a file, or as a public URL like below. Add more platform[] fields to post the same thing everywhere at once.

curl
curl -X POST https://api.reelspan.com/v1/posts/video \
  -H "Authorization: Bearer $REELSPAN_KEY" \
  -F user=my-brand \
  -F "platform[]=pinterest" \
  -F "video=https://example.com/clip.mp4" \
  -F "title=Your description" \
  -F "pinterest_board_id=…"
JavaScript (Node 18+)
const form = new FormData();
form.append('user', 'my-brand');
form.append('platform[]', 'pinterest');
form.append('video', 'https://example.com/clip.mp4');
form.append('title', 'Your description');

const res = await fetch('https://api.reelspan.com/v1/posts/video', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.REELSPAN_KEY}` },
  body: form,
});
console.log(await res.json());
Python
import os, requests

res = requests.post(
    "https://api.reelspan.com/v1/posts/video",
    headers={"Authorization": f"Bearer {os.environ['REELSPAN_KEY']}"},
    files=[
        ("user", (None, "my-brand")),
        ("platform[]", (None, "pinterest")),
        ("video", (None, "https://example.com/clip.mp4")),
        ("title", (None, "Your description")),
    ],
)
print(res.json())

pinterest_title sets Pinterest’s title (up to 100 characters), separate from the text.

04

Pinterest options

pinterest_board_id
The board to pin to (required).
pinterest_board_section_id
A section of that board.
pinterest_title
The pin title, up to 100 characters.
pinterest_link
Where the pin leads.
pinterest_alt_text
Alt text for the pin.
  • Pick the board, title and destination link for each pin.
  • Video pins and image pins, carousels in one shape.

Every field, with its limits: the docs.

05

Schedule it and check the result

  • Add scheduled_date (ISO 8601) and timezone to post later, or add_to_queue=true to take the next slot of your posting schedule.
  • The response has Pinterest’s status and the post’s link. For big files send async_upload=true and check GET /v1/posts/status?request_id=…, or get a signed webhook when it’s live.
  • If Pinterest refuses a post, the error says why in plain words, and you can retry just that network.

06

Without code

07

Ideas

  • Pin every product video with a link to its page.
  • Pin blog post covers to a board per category.

More on Pinterest: what you can post there. Other networks: all upload guides.

Questions?Talk to a person.Contact us