Bulk CSV API Listing.
List many designs to Etsy, eBay, or TikTok in one batch via official APIs โ paste a CSV, set your defaults, and go.
What is Bulk CSV API?
Bulk CSV API takes a CSV (from the Mockup Processor or Bundle Studio) and lists every row directly to a marketplace via API โ Etsy, eBay, or TikTok. No browser automation, no manual clicks. Each row is processed sequentially: read local mockups โ upload to R2 โ push to the marketplace API โ show status.
It supports two garment modes:
| Mode | Description |
|---|---|
| Adult Tee + Kids Tee + Tote (combined) | One listing with 91 variant cells across all garment types. Available on Etsy, eBay, and TikTok. |
| Digital Design (Etsy only) | A single-SKU download listing for selling design files. |
Prerequisites
MeshX Listing Bot Helper
The Bulk CSV API needs the Listing Bot Helper running on your PC. The helper reads your local design folders and streams mockup images to the listing API. Without it, every row will fail.
If the helper isn't installed or is out of date, a yellow banner appears at the top of the page with the install command:
After running the command, click Re-check helper on the page.
Marketplace connection
Connect your marketplace account before listing. The page shows connection status for each platform โ click Connect to authorise via OAuth.
Configure your batch
Platform
Select Etsy, eBay, or TikTok from the tabs at the top. Each platform tab shows its connection status.
Prices
Set prices per tier โ these apply to every row in the batch:
| Tier | Applies to |
|---|---|
| Adult T-Shirt โ S/M/L/XL/2XL | Standard adult sizes |
| Adult T-Shirt โ 3XL/4XL | Oversized sizes (higher fulfilment cost) |
| Kids T-Shirt โ all sizes | All kids sizes |
| Tote Bag | One-size totes |
| Digital Design | Download listings (Etsy only) |
Etsy-specific settings
| Setting | Details |
|---|---|
| Shipping Profile ID | From your Etsy shop โ Settings โ Shipping โ Profiles. Required for physical listings. |
| Shop Section ID | Optional โ organises listings within your Etsy storefront. |
| Etsy Shop URL or Name | Paste your shop URL or name (e.g. FunkySlothUK). MeshX resolves the numeric shop ID automatically. |
| Map images to colours | When ticked, mockup images are mapped to colour swatches so Etsy shows the matching photo when a customer selects a colour. Only works with the numbered mockup set (1.jpg=Black, 3.jpg=White, etc.). |
Description
A base description template that's appended to every listing. The system automatically prepends the listing title and tags above this text. Edit to match your brand โ the default includes garment options, sizing info, processing times, and delivery details.
Load your CSV
Upload a CSV file or paste the contents directly. The CSV format matches the Mockup Processor / Bundle Studio output:
| Mode | Column layout |
|---|---|
| T-shirt / Tote | Column 0 = folder path, Column 1 = title, Column 2 = tags (comma-separated) |
| Digital Design | Column 16 = folder path, Column 17 = title, Column 18 = tags |
Click Parse to preview the rows. The parser auto-detects and skips header rows.
D:\OUTPUT\batch-1\design-folder) โ the helper reads the mockup images from these folders.Run the batch
Click List N listings to start. Each row is processed sequentially:
- Helper reads mockup images from the local folder
- Images are uploaded to R2 (content-addressed โ duplicates are instant)
- Listing is pushed to the marketplace API with title, tags, description, images, variations, and prices
- Row status updates in real time: pending โ running โ done (or error)
A status table shows every row with its result. Successful rows show a View listing link directly to the marketplace.
Stopping a batch
Click Stop to halt the batch after the current row finishes. Already-listed rows stay on the marketplace โ only re-run the missing rows to avoid duplicates.
Error handling
Common errors:
- No design code in folder name โ the folder must end with
- 123456(6-digit) or- 00000ABC(8-char code) so SKUs can be generated. - Helper not reachable โ the Listing Bot Helper isn't running. Start it and click Re-check.
- Session expired โ refresh the page to get a new auth token.
- Upload failed โ R2 upload error. Usually transient โ retry the row.
