⚠️ Independence Notice: SleepyGeeks and PinFlow are not affiliated with, endorsed by, or sponsored by Pinterest, Inc. Pinterest® is a registered trademark of Pinterest, Inc. We use the Pinterest API in accordance with Pinterest’s Developer Terms of Service.

What is PinFlow?

PinFlow is a bulk Pinterest pin scheduling tool built by SleepyGeeks for internal team use and for independent content creators, social media managers, and small businesses who manage Pinterest accounts professionally.

The tool is a client-side web application (a single HTML file) that runs entirely in the user’s browser. It connects to the official Pinterest API v5 to allow users to upload, schedule, and publish Pinterest pins in bulk — dramatically reducing the manual effort of managing high-volume Pinterest content.

✓ Bulk pin scheduling✓ Multi-board support✓ Multi-account management✓ Client-side only — no server✓ Official Pinterest API v5

Who Uses This App?

PinFlow is intended for:

  • Internal team use: SleepyGeeks’ own content team uses this tool to manage Pinterest accounts for clients
  • Social media managers: Professionals managing multiple Pinterest accounts who need to schedule 10–50+ pins per day efficiently
  • Small business owners: Businesses using Pinterest as a marketing channel who want to plan content in advance
  • Content creators: Individuals managing personal or brand Pinterest accounts

The application is designed for users who already own and operate the Pinterest accounts being posted to. It does not facilitate unauthorized access to other people’s accounts.

What the App Does — Step by Step

  1. OAuth Authentication: The user authenticates with their own Pinterest account using Pinterest’s official OAuth 2.0 flow. The app never stores credentials on any server — tokens are kept only in the user’s browser.
  2. Board Fetching: The app reads the authenticated user’s boards via the Pinterest API to display them for selection.
  3. Image Loading: The user selects images from their local computer (no upload to any server — images are processed entirely in the browser).
  4. Content Preparation: The user enters titles, descriptions, and destination links for each pin individually or in bulk.
  5. Schedule Configuration: The user sets a start time and posting interval (minimum 5 minutes). The app calculates posting times for all images automatically.
  6. Pin Publishing: The app posts pins to the selected boards via the Pinterest API (POST /v5/pins) with the image data encoded as base64, at the scheduled times.

Pinterest API Endpoints Used

EndpointMethodPurposeRate Limit Category
/v5/user_accountGETVerify user identity and display account name in the UIorg_read
/v5/boardsGETFetch the authenticated user’s boards for selectionorg_read
/v5/pinsPOSTCreate/publish pins to selected boards on behalf of the authenticated userorg_write
/v5/oauth/tokenPOSTExchange OAuth authorization code for access token

Permissions (OAuth Scopes) Requested

boards:read

Required to list the user’s boards so they can select which board(s) to post to. We read board names, IDs, and pin counts only.

pins:write

Required to create pins on the user’s behalf. Used exclusively to publish the images and metadata that the user has explicitly prepared and scheduled in the tool.

user_accounts:read

Required to verify that the access token is valid and to display the authenticated account’s username in the tool’s UI, so users always know which account they are posting from.

What We Do NOT Do

  • We do not store Pinterest access tokens, board data, or pin data on any server
  • We do not access boards or pins belonging to users who have not explicitly authorized the app
  • We do not scrape, crawl, or mass-download Pinterest content
  • We do not sell, share, or redistribute any Pinterest data to third parties
  • We do not use Pinterest data for advertising, analytics profiling, or any purpose other than displaying it back to the authenticated user within the tool
  • We do not post content without explicit user instruction and confirmation
  • We do not automate posting beyond what the user has manually set up and confirmed

Data Handling Summary

  • Access token: Stored in browser localStorage only. Deleted immediately when user clicks “Disconnect” or clears browser storage. Never transmitted to our servers.
  • Board data: Fetched from Pinterest API and held in browser memory only. Never persisted to any server or database.
  • Images: Loaded from user’s local device and processed entirely in the browser. Never uploaded to our servers. Sent directly to Pinterest API as base64-encoded data.
  • Pin titles/descriptions: Entered by the user and sent directly to Pinterest API. Never stored on our servers.

Compliance with Pinterest Developer Guidelines

PinFlow is built in compliance with Pinterest’s Developer Terms of Service and Developer Guidelines. Specifically:

  • The app only accesses Pinterest data that users have explicitly authorized
  • Pinterest data is used solely to provide the stated scheduling functionality to the authenticated user
  • The app does not violate Pinterest’s content policies or acceptable use guidelines
  • The app clearly identifies itself as non-affiliated with Pinterest, Inc.
  • All API requests are made within documented rate limits

Rate Limit Compliance

The tool includes built-in rate limit awareness:

  • Enforces a minimum 5-minute interval between pins
  • Displays real-time quota usage based on Pinterest’s Trial tier limits (300 org_write calls/day)
  • Warns users before scheduling batches that would exceed safe limits
  • Adds automatic delays between API calls to avoid bursting

Contact

For questions about this application or its use of the Pinterest API:


© 2025 SleepyGeeks. PinFlow is an independent tool. Not affiliated with Pinterest, Inc.