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.

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 with FFprobe, MediaInfo, and Probe Report
  • /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 Example

Analyze a 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
    }
  }'

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

The interactive API explorer below is automatically generated from our OpenAPI 3.1 specification and provides a complete, testable interface to all endpoints.