Image Metadata & EXIF Extractor - Camera, GPS, Size avatar

Image Metadata & EXIF Extractor - Camera, GPS, Size

Pricing

from $2.40 / 1,000 analyzed images

Go to Apify Store
Image Metadata & EXIF Extractor - Camera, GPS, Size

Image Metadata & EXIF Extractor - Camera, GPS, Size

Extracts EXIF metadata and the photo GPS location from image URLs: dimensions, format, camera, lens, ISO, shutter, aperture and capture date. Returns GPS coordinates with a map link per image and flags photos that still carry their location. For privacy reviewers, OSINT researchers and journalists.

Pricing

from $2.40 / 1,000 analyzed images

Rating

0.0

(0)

Developer

Broke to Built

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Features

Limited permissions

Share

Image Metadata & EXIF Extractor: Photo GPS Location, Camera, Size

Point it at an image URL and get back everything the file knows about itself: dimensions and format, the camera and lens that took it, ISO / shutter / aperture / focal length, the capture date, and the GPS coordinates if they are still embedded.

No API key, no upload step, no account. $0.003 per image analysed — anything that is not a readable image is recorded and not charged.

The one people actually need: does this photo leak where it was taken?

Phone and camera photos carry GPS in EXIF, and most tools silently pass it through. Every record has a plain hasGps boolean, and when it is true you also get the coordinates and an openstreetmap.org link so you can see the location rather than decode a decimal.

Run it over a folder of images before they go on a website, a listing, or a profile.

Input

{ "url": "https://example.com/photo.jpg" }

Bulk:

{ "urls": ["https://example.com/a.jpg", "https://example.com/b.png"], "maxImages": 50 }
FieldTypeNotes
urlstringOne direct image link.
urlsstring[]Up to 50 per run.
maxImagesinteger1–50, default 25.
includeRawExifbooleanAdds every tag in the file, not just the common ones. Verbose; default false.

Supported: JPEG, PNG, WebP, GIF, TIFF, HEIC, AVIF, BMP and other common containers. EXIF itself exists mainly in JPEG/TIFF/HEIC.

Output

{
"ok": true,
"url": "https://example.com/photo.jpg",
"format": "jpg",
"width": 640,
"height": 480,
"megapixels": 0.31,
"aspectRatio": "4:3",
"bytes": 161713,
"orientation": "Horizontal (normal)",
"hasExif": true,
"hasGps": true,
"camera": { "make": "NIKON", "model": "COOLPIX P6000", "lens": null, "software": "Nikon Transfer 1.1 W" },
"capture": { "dateTaken": "2008-10-22T16:28:39.000Z", "iso": 64, "fNumber": 5.9,
"exposureSeconds": 0.0133, "shutter": "1/75", "focalLengthMm": 24,
"flash": "Flash did not fire, compulsory flash mode" },
"gps": { "latitude": 43.4674, "longitude": 11.8851,
"mapUrl": "https://www.openstreetmap.org/?mlat=43.4674&mlon=11.8851#map=15/43.4674/11.8851" }
}

What it gets right

  • Dimensions come from the container, not from EXIF. Most web images have no EXIF at all — a PNG from a design tool, anything a social platform re-encoded. Those still return width, height, format and size, with hasExif: false. "No EXIF" is a true answer, not an error.
  • Shutter speed is given both ways. EXIF stores 0.0133; every camera displays 1/75. You get exposureSeconds and shutter.
  • Aspect ratio stays readable. 640×480 reduces to 4:3. An odd crop that would reduce to 3871:2579 is returned as 1.5:1 instead, because the exact fraction tells you nothing.
  • orientation is EXIF's own label ("Horizontal (normal)"), not a number of degrees — the field is named so it cannot be mistaken for one.
  • A non-image is honest about it. An HTML error page served at a .jpg URL produces ok: false with a reason, and is not charged.

Example

A real run on 2026-10-31 with the input this page's form is prefilled with:

{
"url": "https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/gps/DSCN0010.jpg",
"urls": []
}

It finished in 1 second and returned 1 result. It was charged for 1 image-analyzed event ($0.003 on the Free plan). The first result (long text and lists cut for display):

{
"ok": true,
"url": "https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/gps/DSCN0010.jpg",
"format": "jpg",
"contentType": "image/jpeg",
"width": 640,
"height": 480,
"orientation": "Horizontal (normal)",
"megapixels": 0.31,
"aspectRatio": "4:3",
"bytes": 161713,
"hasExif": true,
"hasGps": true,
"camera": {
"make": "NIKON",
"model": "COOLPIX P6000",
"lens": null,
"software": "Nikon Transfer 1.1 W"
},
"capture": {
"dateTaken": "2008-10-22T16:28:39.000Z",
"iso": 64,
"fNumber": 5.9,
"exposureSeconds": 0.013333333333333334,
"shutter": "1/75",
"focalLengthMm": 24,
"flash": "Flash did not fire, compulsory flash mode"
},
"gps": {
"latitude": 43.46744833333334,
"longitude": 11.885126666663888,
"mapUrl": "https://www.openstreetmap.org/?mlat=43.46744833333334&mlon=11.885126666663888#map=15/43.46744833333334/11.885126666663888"
},
"description": null,
"copyright": null
}

Pricing

$0.003 per image analysed. No start fee. Failed fetches and non-images are recorded free.

Limits

  • 50 images per run, 20 MB per image, 25 s fetch timeout each.
  • Reads metadata only. It does not resize, convert, or strip EXIF — to convert formats see Image Converter.
  • GPS is only present if the camera recorded it and nothing has stripped it since. Absence is not proof the photo has no location history.

FAQ

Do I need an API key? No.

Can it strip the GPS data it finds? No — this one reports. Stripping changes the file, which is a different job.

Are my images stored? The bytes are fetched, parsed in memory, and discarded. Only the metadata record goes to your own run's dataset.

Why does a photo from Instagram/Twitter show no EXIF? Those platforms re-encode uploads and drop metadata. That is the platform, not this Actor.

Changelog

  • 2026-11-01: Page text only: a clearer page heading and an Example section from a real run. Code, output and price are unchanged.
  • 0.1 (2026-09-10) — first release. Dimensions, format, camera, lens, exposure, capture date, GPS with map link, optional full raw EXIF block.

Who uses it

  • Privacy reviewers checking whether user-uploaded photos still leak GPS coordinates
  • Journalists and OSINT researchers reading capture date and camera model from images in a story
  • Photographers auditing which lens and settings were used across a portfolio
  • Marketplace moderators checking listing photos for capture dates that do not match the claim
  • Developers reading image dimensions and format before deciding how to resize