Skip to main content
The Bronto Ingestion API lets you POST log events directly to Bronto from any HTTP client or script. This is useful when you need to build a custom pipeline, integrate with an existing system, or ingest logs programmatically without an agent.

Prerequisites

You’ll need an API key with ingestion or admin permissions. See API Keys for how to create one.

Endpoints

  • https://ingestion.eu.bronto.io — EU region
  • https://ingestion.us.bronto.io — US region
OTLP logs can also be sent to https://ingestion.eu.brontobytes.io/v1/logs or https://ingestion.us.brontobytes.io/v1/logs.

Request Format

All requests must be POST with a JSON Lines (NDJSON) body — one JSON object per line.

Required headers

These headers control how your data is organized in Bronto. See Data Organization for how datasets, collections, and tags work.

Other headers

Event schema

Each line in the request body should be a JSON object with the following fields:

Send logs

Uncompressed

Send logs

With gzip compression

Send logs with gzip

With Zstandard compression

Send logs with zstd

With deflate compression

Send logs with deflate

Batch processing

For large files, use a shell script to split the file into chunks and send each one:
Batch ingest from file

Compression ratios

Compressing payloads before sending reduces transfer size significantly. Typical compression ratios for CDN logs:
Zstandard offers the best compression ratio and is recommended for high-volume pipelines.

Payload size limits

Exceeding these limits returns an HTTP 413 response.

Response codes

Reliable delivery

A 200 response means your data has been securely stored and will be ingested — no data will be lost. If the API returns an error response, no data from that request will be ingested.
Bronto is built for reliable, end-to-end delivery. Once you receive a 200, your logs are safe.