Welcome to Probe.dev API

The Probe.dev API provides comprehensive media analysis through multiple industry-standard tools including FFprobe, MediaInfo, and our proprietary ML-enhanced Probe Report, plus specialized validation tools for HLS compliance (MediaStreamValidator) and content authenticity (C2PA).

Interactive API Explorer

Use the left navigation to explore all API endpoints with interactive documentation

OpenAPI Specification

View or download the complete OpenAPI 3.1 specification

Authentication

All API endpoints require authentication using your API token. Choose your preferred method:
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  "https://api.probe.dev/v1/probe/file?url=https://example.com/video.mp4"

Query Parameter Authentication

curl "https://api.probe.dev/v1/probe/file?token=YOUR_API_TOKEN&url=https://example.com/video.mp4"
Get your API token from the Probe.dev Dashboard after signing up.

Base URL

All API requests use the following base URL:
https://api.probe.dev

Main Endpoints

Media Analysis

  • /v1/probe/file - Analyze media files, streaming formats (HLS, DASH), and streaming protocols (RTMP, RTSP, SRT) with FFprobe, MediaInfo, Probe Report, and C2PA
  • /v1/probe/mediastreamvalidator - Validate HLS streams with Apple’s MediaStreamValidator

Management

  • /frontend/api/v1/media/log - Access request logs and history
  • /frontend/api/v1/statistics/* - Usage statistics and analytics
  • /frontend/api/v1/user/* - User management and profiles

Quick Start Examples

Analyze a Media File

Analyze a standard media file with all available tools:
curl -X POST https://api.probe.dev/v1/probe/file \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://probelibrary.s3.amazonaws.com/sample-source.mp4",
    "inject_json": true,
    "ffprobe": {
      "enabled": true,
      "show_streams": true,
      "show_format": true
    },
    "mediainfo": {
      "enabled": true,
      "output": "JSON"
    },
    "probe_report": {
      "enabled": true,
      "diff": true
    }
  }'

Analyze HLS Stream

Analyze an HLS playlist to understand adaptive streaming configuration:
curl -G https://api.probe.dev/v1/probe/file \
  --data-urlencode "token=YOUR_API_TOKEN" \
  --data-urlencode "url=https://probelibrary.s3.amazonaws.com/hls/sample/big_buck_bunny.m3u8" \
  --data-urlencode "only=mediainfo"

Analyze DASH Manifest

Examine a DASH manifest for video track configurations:
curl -G https://api.probe.dev/v1/probe/file \
  --data-urlencode "token=YOUR_API_TOKEN" \
  --data-urlencode "url=https://cdn.bitmovin.com/content/assets/art-of-motion-dash-hls-progressive/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd" \
  --data-urlencode "inject_json=true"

Analyze RTMP Stream

Probe an RTMP stream for technical specifications:
curl -G https://api.probe.dev/v1/probe/file \
  --data-urlencode "token=YOUR_API_TOKEN" \
  --data-urlencode "url=rtmp://matthewc.co.uk/vod/scooter" \
  --data-urlencode "only=ffprobe"

Response Format

All responses follow a consistent JSON structure:
{
  "success": true,
  "metadata": {
    "request_id": "uuid",
    "queue_time": 1500,
    "io_usage": 2048000
  },
  "ffprobe": {
    "success": true,
    "duration": 2500,
    "response": { /* FFprobe output */ }
  },
  "mediainfo": {
    "success": true,
    "duration": 1800,
    "response": { /* MediaInfo output */ }
  },
  "probe_report": {
    "success": true,
    "duration": 3200,
    "response": { /* Probe Report output */ }
  }
}

Rate Limits

  • Request Rate: 100 requests per minute per API token
  • Concurrent: 10 simultaneous requests per token
  • Queue Time: Maximum 60 seconds in queue before timeout
  • File Size: Maximum 10GB per file

Error Handling

The API uses standard HTTP status codes:
CodeDescriptionCommon Causes
200SuccessRequest completed successfully
400Bad RequestInvalid parameters or malformed request
401UnauthorizedMissing or invalid API token
403ForbiddenInsufficient permissions or quota exceeded
404Not FoundFile not accessible or doesn’t exist
429Too Many RequestsRate limit exceeded
500Internal Server ErrorTemporary server issue

Support Resources

Interactive API Documentation

Interactive API explorers for all endpoints are automatically generated from our OpenAPI 3.1 specification. Use the navigation or search to find specific endpoints and try them directly in your browser.