Stop writing
throwaway scripts.

Stream, transform, and dispatch millions of API requests from local files.

54K Requests/sec (1M row benchmark)
0 Failures across 1M requests
<5m From install to first migration

How Bombardment works

A modular pipeline you can extend

01

Configure Source

Choose your data format and point to the file.

CSV, JSON, Excel, Parquet
02

Define Transforms

Reshape each record into an HTTP request.

JSONata, GoTemplate, Passthrough
03

Configure Target

Set up endpoints with load balancing across targets.

REST, gRPC, GraphQL
04

Execute

Run batched jobs with concurrent goroutines.

Progress tracking, error handling
  • Process millions of records in parallel
  • Spread traffic across endpoints automatically
  • Handle any file size without running out of memory
  • Failures retry, not fail silently
  • Know exactly where every job stands
  • Write once, reuse for every migration

Get started

Install and start migrating in minutes

git clone https://github.com/Dhi13man/bombardment-runner.git && cd bombardment-runner && docker compose up --build

or download a binary

Bombardment web UI: configure CSV source for bulk API migration

Choose your data format (CSV, JSON, Excel, Parquet) and upload a file or enter a server-side path.

Bombardment web UI: define JSONata transform expressions

Define JSONata expressions to shape each record into an HTTP request: method, endpoint, headers, and body.

Bombardment web UI: configure load balancing and target endpoints

Configure HTTP client settings, load balancing strategy, target URLs, and batch processing options.

Bombardment web UI: review all configuration before running

Review your full configuration with validation checks before launching the bombardment.

Bombardment web UI: real-time job progress and throughput metrics

Real-time pipeline visualization with processed/failed counters and throughput metrics.

Built for real migrations

Everything you need to transform and bombard

Concurrent Processing

Batched jobs processed in parallel goroutines for high throughput.

Flexible Channels

REST, gRPC, and GraphQL out of the box.

Load Balancing

Client-side Round Robin and Random strategies across targets.

Transformation Rules

JSONata and Go Template expressions to reshape every record.

Streaming Parsers

CSV, JSON, Excel, Parquet via Go channels. Never loads the full file.

Job Management

Track, monitor, and control migration jobs through a state machine.

The right tool for the right job

Understanding when to use Bombardment

Application Layer Migrations

Bombardment excels at:

  • Bulk data transfers via API endpoints
  • Service-to-service record migrations
  • Multi-target load-balanced dispatching
  • Data transformation before submission
  • High-throughput concurrent processing
Perfect for hitting application endpoints repeatedly with concurrent batching and transformation

Database Layer Migrations

Better handled by:

  • SQL-based ETL pipelines
  • Database-native migration utilities
  • Schema versioning frameworks
  • Direct connection replication tools
  • Change data capture (CDC) systems
Bombardment complements these tools by handling the application layer of your migration strategy