Image Metadata & EXIF Extractor - Camera, GPS, Size
Pricing
from $2.40 / 1,000 analyzed images
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Features
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 }
| Field | Type | Notes |
|---|---|---|
url | string | One direct image link. |
urls | string[] | Up to 50 per run. |
maxImages | integer | 1–50, default 25. |
includeRawExif | boolean | Adds 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 displays1/75. You getexposureSecondsandshutter. - Aspect ratio stays readable. 640×480 reduces to
4:3. An odd crop that would reduce to3871:2579is returned as1.5:1instead, because the exact fraction tells you nothing. orientationis 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
.jpgURL producesok: falsewith 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