Bulk operations
Shorten a spreadsheet, not one URL at a time
Migrations, product catalogs, personalized campaigns and event badge printing all need links by the thousand. EndURL's bulk pipeline validates first, processes asynchronously, and reports exactly what happened to every row.
How bulk import works
Upload a CSV with destination URLs and optional columns — alias, domain, title, tags, campaign, UTM parameters. EndURL validates every row before creating anything: malformed URLs, reserved or duplicate aliases and unsafe destinations are flagged in a preview. Confirm, and processing runs in the background with live progress; large files never tie up your browser.
- Validation preview before anything is created
- Duplicate and reserved-alias detection
- Asynchronous processing with progress tracking
- Downloadable result report (created / skipped / failed, with reasons)
- Works with branded domains and UTM templating
Prefer code? Use the API
The same pipeline is exposed programmatically: POST /api/v1/bulk accepts batches and returns an import you can poll, with idempotency keys preventing accidental double-processing. Ideal for syncing links from a product catalog or CMS.
Frequently asked questions
How large can an import be?
CSV uploads up to 20 MB are supported, with row limits by plan. Processing is asynchronous, so large imports don't block your session.
What happens to rows that fail?
Valid rows are created; failing rows are skipped and listed in the downloadable report with a per-row reason. Imports never fail silently.
Which plans include bulk import?
Pro and Business include CSV bulk import and the bulk API scope.
