{"openapi":"3.1.0","info":{"title":"MIME Types API","version":"1.0.0","description":"The canonical MIME / media-type database (the jshttp mime-db used by Express and most of the Node ecosystem: IANA + Apache + nginx), served from memory — no key. Resolve a media type to its file extensions, charset and compressibility; reverse-lookup the media type(s) for a file extension (e.g. png → image/png); and search or list types by source. 2,600+ media types, 1,000+ with file extensions. Lean, predictable JSON. Ideal for upload validation, Content-Type resolution, file-type detection, download handlers and developer tooling.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/mimetypes-api","description":"oanor gateway"}],"tags":[{"name":"MIME"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/extension":{"get":{"operationId":"get_v1_extension","tags":["MIME"],"summary":"Media type(s) for a file extension","description":"","parameters":[{"name":"ext","in":"query","required":true,"description":"A file extension (with or without dot)","schema":{"type":"string"},"example":"png"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":1,"types":[{"type":"image/png","source":"iana","extensions":["png"],"compressible":false}],"primary":"image/png","extension":"png"},"meta":{"timestamp":"2026-06-08T18:25:15.001Z","request_id":"37279b09-9d1c-4ff8-9af3-45494768552f"},"status":"ok","message":"Extension resolved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/list":{"get":{"operationId":"get_v1_list","tags":["MIME"],"summary":"List media types","description":"","parameters":[{"name":"source","in":"query","required":false,"description":"iana | apache | nginx | none","schema":{"type":"string"},"example":"nginx"},{"name":"limit","in":"query","required":false,"description":"Max (1-200, default 50)","schema":{"type":"string"},"example":"50"},{"name":"offset","in":"query","required":false,"description":"Offset","schema":{"type":"string"},"example":"0"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":13,"total":13,"types":["application/x-cocoa","application/x-java-archive-diff","application/x-makeself","application/x-perl","application/x-pilot","application/x-redhat-package-manager","application/x-sea","audio/x-m4a","audio/x-realaudio","image/x-jng","image/x-ms-bmp","text/mathml","text/x-component"],"source":"nginx"},"meta":{"timestamp":"2026-06-08T18:25:15.108Z","request_id":"95d369e2-b87c-4664-a51b-c17656393257"},"status":"ok","message":"Types listed successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["MIME"],"summary":"Search media types","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Substring to search (min 2 chars)","schema":{"type":"string"},"example":"image"},{"name":"source","in":"query","required":false,"description":"Filter by source: iana, apache, nginx, none","schema":{"type":"string"},"example":"iana"},{"name":"limit","in":"query","required":false,"description":"Max results (1-100, default 25)","schema":{"type":"string"},"example":"25"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":25,"query":"image","total":92,"results":[{"type":"application/vnd.3lightssoftware.imagescal","source":"iana","extensions":[]},{"type":"application/vnd.fastcopy-disk-image","source":"iana","extensions":[]},{"type":"application/vnd.imagemeter.folder+zip","source":"iana","extensions":[],"compressible":false},{"type":"application/vnd.imagemeter.image+zip","source":"iana","extensions":[],"compressible":false},{"type":"application/vnd.msa-disk-image","source":"iana","extensions":[]},{"type":"application/vnd.oasis.opendocument.image","source":"iana","extensions":["odi"]},{"type":"application/vnd.oasis.opendocument.image-template","source":"iana","extensions":["oti"]},{"type":"application/vnd.oci.image.manifest.v1+json","source":"iana","extensions":[],"compressible":true},{"type":"image/aces","source":"iana","extensions":["exr"]},{"type":"image/apng","source":"iana","extensions":["apng"],"compressible":false},{"type":"image/avci","source":"iana","extensions":["avci"]},{"type":"image/avcs","source":"iana","extensions":["avcs"]},{"type":"image/avif","source":"iana","extensions":["avif"],"compressible":false},{"type":"image/bmp","source":"iana","extensions":["bmp","dib"],"compressible":true},{"type":"image/cgm","source":"iana","extensions":["cgm"]},{"type":"image/dicom-rle","source":"iana","extensions":["drle"]},{"type":"image/dpx","source":"iana","extensions":["dpx"]},{"type":"image/emf","source":"iana","extensions":["emf"]},{"type":"image/fits","source":"iana","extensions":["fits"]},{"type":"image/g3fax","source":"iana","extensions":["g3"]},{"type":"image/gif","source":"iana","extensions":["gif"],"compressible":false},{"type":"image/heic","source":"iana","extensions":["heic"]},{"type":"image/heic-sequence","source":"iana","extensions":["heics"]},{"type":"image/heif","source":"iana","extensions":["heif"]},{"type":"image/heif-sequence","source":"iana","extensions":["heifs"]}]},"meta":{"timestamp":"2026-06-08T18:25:15.240Z","request_id":"f4cbb500-727a-4bc0-81a6-3c08eaf4234d"},"status":"ok","message":"Search results retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/type":{"get":{"operationId":"get_v1_type","tags":["MIME"],"summary":"Media-type detail by name","description":"","parameters":[{"name":"name","in":"query","required":true,"description":"A MIME / media type","schema":{"type":"string"},"example":"application/json"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"mime":{"type":"application/json","source":"iana","charset":"UTF-8","extensions":["json","map"],"compressible":true}},"meta":{"timestamp":"2026-06-08T18:25:15.344Z","request_id":"0bb590fc-9f00-4d1a-a2c5-7e51bd568ff1"},"status":"ok","message":"Media type retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec & dataset stats","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"service":"mimetypes-api","sources":{"iana":2215,"none":98,"nginx":13,"apache":275},"endpoints":{"GET /v1/list":"List media types (source=iana|apache|nginx|none; limit, offset).","GET /v1/meta":"This document.","GET /v1/type":"Media-type detail by name (name=, e.g. application/json).","GET /v1/search":"Search media types (q=, min 2 chars; source=).","GET /v1/extension":"Media type(s) for a file extension (ext=, e.g. png)."},"description":"Canonical MIME / media-type database (jshttp mime-db: IANA + Apache + nginx): resolve a media type to its file extensions, charset and compressibility, reverse-lookup the media type for a file extension, search and list types by source. No key.","total_types":2601,"total_extensions":1302,"types_with_extensions":1025},"meta":{"timestamp":"2026-06-08T18:25:15.465Z","request_id":"8f96d749-cd99-465d-882a-4022c7445ea5"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":20000,"rps_limit":3,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":350,"monthly_call_quota":200000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1000,"monthly_call_quota":1000000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":2500,"monthly_call_quota":5000000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/mimetypes-api"}