logo

Add ASINs in Bulk (CSV)

GuideUpdated 2026-06-20

When you need to seed a collection with hundreds or thousands of products, the CSV bulk upload is the fastest path. Prepare a spreadsheet, export it as CSV, and let the importer validate and insert every row in one shot.

In the dashboard

1. Open the bulk drawer

Inside any Amazon collection, click the Bulk Add button in the top-right toolbar. The bulk import drawer slides in from the right.

Amazon collection page with the bulk import drawer open
The bulk drawer opens from any collection's toolbar.

2. Download the CSV template

Click Download template to get a pre-formatted CSV with the correct column headers. Open it in Excel, Google Sheets, or any spreadsheet editor.

Download template link highlighted inside the bulk import drawer
Always start from the template — column order and header names must match exactly.

The template contains exactly four columns (no others are recognised):

ColumnRequiredExample
domainYesamazon.com.au
customer_postcodeYes4500
asinYesB0DJQQ38TG
include_raw_htmlYestrue or false

Fill in one ASIN per row. The domain must match a domain you have configured, and the postcode must match a postcode you have already created for that domain. Save the file as CSV when done.

5,000-row limit

The importer enforces a hard cap of 5,000 rows per upload. If your file exceeds this, split it across multiple uploads into the same collection or separate collections.

3. Drop or select your file

Drag your CSV onto the dropzone, or click inside it to open a file picker.

CSV dropzone inside the bulk import drawer waiting for a file
Drag a CSV file onto the dropzone, or click to browse.

4. Confirm the file selection

Once a file is selected, a file chip appears showing the filename. Review it, then click Import to begin the upload.

Bulk import drawer with a file chip showing the chosen CSV filename and the Import button
A chip confirms which file is queued. Click Import to proceed.

5. Review the results

After the import finishes, a results summary shows the success count and error count for the upload.

Bulk import results showing success count and error count
The results panel shows how many rows were added successfully and how many failed.

If any rows could not be imported (unrecognised domain, missing postcode, duplicate ASIN, etc.), an error table lists each failed row alongside its reason.

Error table inside the bulk import drawer listing failed rows with error messages
Failed rows appear in the error table — fix them and re-upload only the problem rows.

Fix the flagged rows in your spreadsheet and re-upload just those rows. Rows that succeeded are already in the collection and will not be duplicated.

Via the API

Bulk upload (CSV file)

Bulk Create ASINs (CSV)

POST
https://multicartapi.com/api/v1/schedules/amazon/asin/create/bulk/
API Key or Session Token

This endpoint accepts a multipart/form-data request containing the collection ID and the CSV file.

ParameterTypeRequiredDescription
collection_idintegerRequiredCollection ID to import ASINs into.
csvfileRequiredCSV file. Required columns: domain, customer_postcode, asin, include_raw_html. Header row is mandatory.

The CSV file must have a header row. Required columns are domain (domain name string, e.g. amazon.com.au), customer_postcode (postcode value, e.g. 4500), asin (Amazon ASIN), and include_raw_html (true or false). Extra columns are ignored. Domain and postcode are matched by string value — the backend resolves them to IDs internally. Rows with an unrecognised domain or postcode are added to error_rows without aborting the rest of the import.

Example CSV content:

domain,customer_postcode,asin,include_raw_html
amazon.com.au,4500,B0DJQQ38TG,true
amazon.com.au,4500,B0ABC12345,false
amazon.com,10001,B0XYZ99999,true
curl https://multicartapi.com/api/v1/schedules/amazon/asin/create/bulk/ \
  -X POST \
  -H "x-api-key: YOUR_API_KEY" \
  -F "collection_id=101" \
  -F "csv=@/path/to/asins.csv"
Response
{
"code": 200,
"data": {
  "success_count": 2,
  "error_rows": []
},
"status": 1
}

When some rows fail, the response still returns code: 200 — check error_rows to identify which ASINs were skipped:

Response
{
"code": 200,
"data": {
  "success_count": 2,
  "error_rows": [
    { "asin": "B0XYZ99999", "error": "Duplicate entry" }
  ]
},
"status": 1
}

Alternative: comma-separated ASINs (no file upload)

If you have a small list of ASINs that all share the same domain and postcode, you can use POST /schedules/amazon/asin/create/multiple/ instead. Pass the ASINs as a comma-separated string — no file required.

Create Multiple ASINs

POST
https://multicartapi.com/api/v1/schedules/amazon/asin/create/multiple/
API Key or Session Token
ParameterTypeRequiredDescription
collectionintegerRequiredCollection ID to add ASINs to.
domainstringRequiredDomain name by value, e.g. "amazon.com.au".
customer_postcodestringRequiredPostcode by value, e.g. "4500".
asinsstringRequiredComma-separated ASIN codes, e.g. "B001,B002,B003".
including_raw_htmlbooleanOptionalWhether to include raw HTML in scrape output. Note: this field is named including_raw_html (not include_raw_html as in the CSV and single-create endpoints).
curl https://multicartapi.com/api/v1/schedules/amazon/asin/create/multiple/ \
  -X POST \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "collection": 101,
    "domain": "amazon.com.au",
    "customer_postcode": "4500",
    "asins": "B0DJQQ38TG,B0ABC12345,B0XYZ99999",
    "including_raw_html": false
  }'
Response
{
"code": 200,
"data": {
  "success_count": 2,
  "error_rows": [
    { "asin": "B0XYZ99999", "error": "Duplicate entry" }
  ]
},
"status": 1
}

Field name difference

The multiple-ASINs endpoint uses including_raw_html (with an -ing suffix), while the CSV bulk endpoint and the single-create endpoint both use include_raw_html. This is a known inconsistency in the API.