Skip to content

Quick Start ​

Inspect any public URL and receive structured media intelligence in a single request.

Production API ​

Base URL:

txt
https://api.urlmediainspector.dev

Swagger Explorer:

txt
https://api.urlmediainspector.dev/api-docs

OpenAPI Specification:

txt
https://api.urlmediainspector.dev/openapi.json

Hosted API Request ​

bash
curl -X POST "https://api.urlmediainspector.dev/api/v1/inspect?profile=standard" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://images.unsplash.com/photo-example"
  }'
ProfilePurpose
fastlightweight metadata detection
standardbalanced metadata enrichment
fulladvanced media probing

Installation ​

bash
cd server
npm install

Start the Server ​

bash
npm run dev

The server starts on port 3000 by default.

Your First Request ​

Inspect an image with the FAST profile for minimal latency:

bash
curl -X POST https://api.urlmediainspector.dev/api/v1/inspect?profile=fast \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.geekygallery.in/cdn/shop/files/god_16.jpg?v=1726037386&width=1946"}'

Response ​

jsonc
{
  "success": true,
  "responseSource": "fresh",
  "cached": false,
  "processing": {
    "status": "partial",
    "completion": 0.5,
    "enrichmentsPending": true,
    "completedStages": ["semantic", "mediaFormat", "metadata:image"],
    "pendingStages": [
      "preview:thumbnail",
      "preview:blurhash",
      "preview:palette",
    ],
  },
  "data": {
    "identity": {
      "url": "https://www.geekygallery.in/cdn/shop/files/god_16.jpg?v=1726037386&width=1946",
      "finalUrl": "https://www.geekygallery.in/cdn/shop/files/god_16.jpg?v=1726037386&width=1946",
      "mime": "image/jpeg",
    },
    "semantic": { "kind": "direct-media", "semanticType": "image" },
    "playback": {
      "strategy": "native",
      "component": "img",
      "streamable": false,
      "downloadable": true,
    },
    "metadata": {
      "filename": "god_16.jpg",
      "size": { "bytes": 204800, "formatted": "200 KB" },
    },
  },
  "projection": { "profile": "fast", "hiddenFields": ["preview"] },
}

Try Different Profiles ​

FULL — Complete enrichment (synchronous) ​

bash
curl -X POST https://api.urlmediainspector.dev/api/v1/inspect?profile=full \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.geekygallery.in/cdn/shop/files/god_16.jpg?v=1726037386&width=1946"}'

FULL blocks until all enrichments complete and returns completion: 1 with thumbnail, blurhash, palette, and diagnostics.

STANDARD — Progressive async ​

bash
curl -X POST https://api.urlmediainspector.dev/api/v1/inspect?profile=standard \
  -H "Content-Type: application/json" \
  -d '{"url": "https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4"}'

STANDARD returns 202 Accepted for heavy media with a job reference, or 200 OK if enrichment completes immediately.

Inspect a YouTube URL ​

bash
curl -X POST https://api.urlmediainspector.dev/api/v1/inspect?profile=fast \
  -H "Content-Type: application/json" \
  -d '{"url": "https://youtu.be/GLTTI1NFHus?si=okdNMy6_p0VSqZJG"}'

YouTube URLs are provider-detected — the response includes canonical URL normalization, provider-native thumbnail, and oEmbed intelligence without downloading the video.

Next Steps ​

Infrastructure Documentation — Behavior-Driven, Schema-Governed