Quick Start
Inspect any public URL and receive structured media intelligence in a single request.
Production API
Base URL:
txt
https://api.urlmediainspector.devSwagger Explorer:
txt
https://api.urlmediainspector.dev/api-docsOpenAPI Specification:
txt
https://api.urlmediainspector.dev/openapi.jsonHosted 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"
}'| Profile | Purpose |
|---|---|
| fast | lightweight metadata detection |
| standard | balanced metadata enrichment |
| full | advanced media probing |
Installation
bash
cd server
npm installStart the Server
bash
npm run devThe 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
- Architecture — understand the four core design principles
- Projection Profiles — FAST, STANDARD, and FULL behavior
- Response Examples — curated responses for every media type