Bulk Schedule 500+ Social Media Posts at Once

Upload a CSV or call one API endpoint to schedule 500 posts across 10 platforms. Save 10+ hours per week.

Key Features

One upload, hundreds of scheduled posts

Build an entire cross-platform campaign in a spreadsheet, validate every row, and schedule it in one batch.

  • CSV UploadSchedule 500 posts from one CSV file, from the dashboard or the API.
  • Pre-Upload ValidationEvery row is checked before scheduling. Use dry-run mode to get a full validation report without creating a single post.
  • Per-Platform ColumnsSet Instagram first comments, TikTok privacy, YouTube titles, Pinterest boards, and more with platform-specific columns.
  • Timezone Per PostGive each row its own tz value, or use offset ISO timestamps, to hit the right local time everywhere.
  • Queue & Draft ModesSend rows to your posting queue with use_queue, save them as drafts, or publish immediately with publish_now.
  • Media From URLsAttach images and videos with media_urls. PostZen downloads and validates each asset per platform.

How it Works

Bulk schedule your first batch in 3 steps

Prepare, validate, and schedule 500 posts with the same CSV file.

  1. 01. Prepare Your CSV

    Download CSV template. Add content, dates, platforms, and media URLs.

  2. 02. Upload CSV

    Dashboard or via the API endpoint.

  3. 03. Confirm & Schedule

    All posts appear in your calendar. Edit or delete individually before publish.

Why use PostZen?

Skip months of platform integrations

Each social network means its own developer app, review process, token lifecycle, and media rules. One PostZen integration replaces all of it.

Building it yourself

  • 10 developer apps, 10 OAuth flows, 10 app reviews
  • Token refresh, rate limits, and retry logic per platform
  • Media specs and API rules that change without warning
  • Months of integration work before your first post
  • App review rejections and delays that block your launch
  • Quota restrictions that limit your users and frustrate your team
PostZen
  • Save 10+ Hours/Week

    Schedule a month of content in under 5 minutes.

  • No More Gaps

    Plan in a spreadsheet, upload everything at once.

  • Launch Campaigns

    Coordinate across all channels with precise timing.

  • Scale Agency Ops

    Manage 100+ client accounts efficiently.

  • E-Commerce Ready

    Generate CSVs from your product catalog. Automate promos.

  • Developer-Friendly

    REST API for custom workflows. Connect your CMS or pipeline.

2,000+ users

Code Examples

One file or one request

Build your campaign in CSV, validate it with curl, then send the same file to schedule every valid row.

CSV
post_content,platforms,profiles,schedule_time,tz,media_urls
"Launch day! 🚀","instagram,linkedin,x",Primary,2026-09-01 10:00,America/New_York,https://cdn.example.com/launch.jpg
"Behind the scenes","tiktok,youtube",Primary,2026-09-02 14:30,Europe/London,https://cdn.example.com/bts.mp4
cURL
curl -X POST "https://api.postzen.dev/v1/posts/bulk-upload?dryRun=true" \
  -H "Authorization: Bearer $POSTZEN_API_KEY" \
  -F "file=@posts.csv"

# Example response:
# { "total": 3, "valid": 2, "invalid": 1,
#   "results": [{ "rowIndex": 3, "ok": false,
#     "errors": ["unknown_profile:Marketing"] }] }
cURL
curl -X POST "https://api.postzen.dev/v1/posts/bulk-upload" \
  -H "Authorization: Bearer $POSTZEN_API_KEY" \
  -F "file=@posts.csv"

View the full API reference →

Platform Coverage

One API, 10 social networks

Publish through one integration while keeping the options that matter on each platform.

Frequently asked questions

Still have questions?

How many posts can I bulk schedule at once?

Up to 500 posts per CSV upload. There is no limit on how many files you upload, so larger campaigns can be split across multiple batches.

What columns does the CSV need?

Four required columns: post_content, platforms, profiles, and schedule_time. Optional columns cover timezones (tz), media (media_urls), queue and draft modes, and platform-specific settings like instagram_first_comment or tiktok_privacy.

What happens if some rows have errors?

Every row is validated independently and you get a per-row report. Use dryRun=true to validate a file without scheduling anything, then fix errors and re-upload.

Can I customize posts per platform in one row?

Yes. Platform-specific columns let you set YouTube titles, Instagram first comments and collaborators, TikTok privacy and duet settings, Pinterest boards, and Telegram formatting in the same row.

Where can my media files be hosted?

Any publicly accessible URL — S3, Cloudflare R2, a CDN, or your own server. PostZen downloads, validates, and processes each file per platform.

Can I bulk schedule into my posting queue?

Yes. Set the use_queue column and those rows fill the next available queue slots instead of needing exact times.

Is bulk scheduling available on the free plan?

Yes. Every plan includes CSV upload and the bulk API. The free tier covers your first 2 social accounts with unlimited posts.

Schedule your next 500 posts in one upload

Grab your API key or open the dashboard and bulk schedule across every platform.