API CodexAPI Codex
WebsiteDashboardGet API Key
  • Documentation
  • All APIs
  • Changelog
Resources
  • Docs Home
  • API Catalog
  • API Codex Website
Platform
  • Get a free API key
  • Dashboard
  • APIs & Pricing

© 2026 API Codex. All rights reserved.

Information
Other endpoints
    Extract metadata from an image URLgetExtract metadata from a raw image body or a JSON { url }post
Schemas
powered by Zudoku
EXIF / Image Metadata Extraction API
EXIF / Image Metadata Extraction API

Other endpoints


Extract metadata from an image URL

GET
https://api.apicodex.io/exif
/v1/extract

Fetches the image at the supplied url and extracts its EXIF, TIFF, IFD0 and GPS metadata. URL fetches follow redirects, send a realistic browser User-Agent, enforce a 15MB size cap and run through an SSRF guard that blocks localhost and private-network targets by default.

Extract metadata from an image URL › query Parameters

url
​string · uri · required

HTTP/HTTPS URL of the image to analyze.

Example: https://example.com/photo.jpg
timeout_ms
​integer · min: 1 · max: 20000

Upstream fetch timeout in milliseconds (default 10000, max 20000).

Default: 10000
block_private
​boolean

Reject localhost / private-network hosts (SSRF guard). Set false to override.

Default: true

Extract metadata from an image URL › Responses

Metadata extracted (or no metadata found).

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: found
type = object · requires: found
Properties for Variant 1:
Normalized metadata envelope. Top-level fields are null when the corresponding tag is missing.
ExifResult
found
​boolean · required
make
​string | null
model
​string | null
lens
​string | null
software
​string | null
datetime
​string | null
​
iso
​integer | null
f_number
​number | null
exposure_time
​number | null
focal_length
​number | null
​
​Dimensions

Pixel dimensions read from the EXIF data.

gps
​GPS

Decimal GPS coordinates extracted from the image, or null when absent.

​object

Full sanitized exifr parse output (Dates ISO-stringified, binary dropped).

GET/v1/extract
curl 'https://api.apicodex.io/exif/v1/extract?url=<string>&apikey=<api-key>'
Example Responses
{ "found": true, "make": "Apple", "model": "iPhone 13 Pro", "lens": "iPhone 13 Pro back triple camera 5.7mm f/1.5", "software": "16.5.1", "datetime": "2023-07-14T18:32:07.000Z", "orientation": 6, "iso": 64, "f_number": 1.5, "exposure_time": 0.008333333333333333, "focal_length": 5.7, "flash": "No Flash", "dimensions": { "width": 4032, "height": 3024 }, "gps": { "latitude": 37.80861111111111, "longitude": -122.40972222222223, "altitude": 12.4 }, "raw": { "Make": "Apple", "Model": "iPhone 13 Pro", "DateTimeOriginal": "2023-07-14T18:32:07.000Z", "Orientation": 6, "ISO": 64, "FNumber": 1.5, "latitude": 37.80861111111111, "longitude": -122.40972222222223 } }
json
application/json

Extract metadata from a raw image body or a JSON { url }

POST
https://api.apicodex.io/exif
/v1/extract

Extracts metadata from either a raw binary image body (any image/* or application/octet-stream) or a JSON object of the form { "url": "https://..." }. In JSON-url mode the service fetches the image, applying the same SSRF guard, 15MB cap and configurable timeout as the GET endpoint.

Extract metadata from a raw image body or a JSON { url } › query Parameters

timeout_ms
​integer · min: 1 · max: 20000

Fetch timeout (JSON-url mode only). Default 10000, max 20000.

Default: 10000
block_private
​boolean

SSRF guard for the JSON-url mode. Set false to override.

Default: true

Extract metadata from a raw image body or a JSON { url } › Responses

Metadata extracted (or no metadata found).

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: found
type = object · requires: found
Properties for Variant 1:
Normalized metadata envelope. Top-level fields are null when the corresponding tag is missing.
ExifResult
found
​boolean · required
make
​string | null
model
​string | null
lens
​string | null
software
​string | null
datetime
​string | null
​
iso
​integer | null
f_number
​number | null
exposure_time
​number | null
focal_length
​number | null
​
​Dimensions

Pixel dimensions read from the EXIF data.

gps
​GPS

Decimal GPS coordinates extracted from the image, or null when absent.

​object

Full sanitized exifr parse output (Dates ISO-stringified, binary dropped).

POST/v1/extract
curl 'https://api.apicodex.io/exif/v1/extract?apikey=<api-key>' \ --request POST
Example Responses
{ "found": true, "make": "Apple", "model": "iPhone 13 Pro", "lens": "iPhone 13 Pro back triple camera 5.7mm f/1.5", "software": "16.5.1", "datetime": "2023-07-14T18:32:07.000Z", "orientation": 6, "iso": 64, "f_number": 1.5, "exposure_time": 0.008333333333333333, "focal_length": 5.7, "flash": "No Flash", "dimensions": { "width": 4032, "height": 3024 }, "gps": { "latitude": 37.80861111111111, "longitude": -122.40972222222223, "altitude": 12.4 }, "raw": { "Make": "Apple", "Model": "iPhone 13 Pro", "DateTimeOriginal": "2023-07-14T18:32:07.000Z" } }
json
application/json