Documentation

Get started in under 2 minutes.

1. Install the tracker

Add this script tag to your website's <head>. Replace the data-key with your public ingest key (find it in Dashboard → Settings).

<script
  src="https://eurobug.eu/api/v1/eb"
  data-key="eb_pub_your_key_here"
  async
></script>

The script is under 2kb gzipped, loads asynchronously, and has minimal impact on page load performance. It automatically captures window.onerror and unhandledrejection events.

2. Optional: specify a release

Add data-release to tag errors with your deployment version. Required for source map matching.

<script
  src="https://eurobug.eu/api/v1/eb"
  data-key="eb_pub_your_key_here"
  data-release="1.2.0"
  async
></script>

3. Upload source maps (optional)

Upload source maps via the API to translate minified stack traces back to your original code. Available on Startup and Agency plans.

# Recommended: CI token auth (generate in Dashboard → Settings)
curl -X POST https://eurobug.eu/api/projects/YOUR_PROJECT_ID/sourcemaps \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eb_ci_YOUR_TOKEN" \
  -d '{
    "release": "1.2.0",
    "filename": "main.js.map",
    "content": "{ ... source map JSON ... }",
    "artifactPath": "assets/main.js"
  }'

A standalone upload script is included: node scripts/upload-sourcemaps.js --project PROJECT_ID --release 1.0.0 --dir ./dist --token YOUR_CI_TOKEN

4. Ingest API reference

The tracker script handles this automatically, but if you want to send errors programmatically:

POST https://eurobug.eu/api/ingest
Content-Type: application/json

{
  "publicKey": "eb_pub_your_key_here",
  "message": "TypeError: Cannot read property 'length' of undefined",
  "stack": "TypeError: Cannot read property ...\n    at foo (main.js:42:13)",
  "url": "https://yoursite.com/checkout",
  "browser": "Chrome/120.0.0.0",
  "os": "macOS",
  "release": "1.2.0"
}

Need help?

Contact us at hello@eurobug.eu.