Image Metadata & EXIF Extractor: GPS, Camera, Dates (Bulk)
Pricing
from $2.40 / 1,000 image analyzeds
Image Metadata & EXIF Extractor: GPS, Camera, Dates (Bulk)
Image metadata and EXIF extractor for lists of image URLs. Get camera make and model, lens, ISO, exposure, date taken, GPS latitude and longitude with a map link, orientation, ICC profile, XMP and IPTC as clean flat JSON.
Pricing
from $2.40 / 1,000 image analyzeds
Rating
0.0
(0)
Developer
Data Done Right
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Security
Limited permissionsShare
Use this EXIF extractor to read image metadata from a list of image URLs. For every photo you get the camera make and model, lens, focal length, ISO, shutter speed, aperture, the date taken as ISO 8601, GPS latitude, longitude and altitude as signed decimals with a ready map link, orientation, software, image size, format and color mode. It also summarizes the ICC color profile, XMP and IPTC. No browser, no login, no API key.
One flat dataset row per image with stable field names, so the EXIF data goes straight into a spreadsheet, a database or your next automation step. Need every tag? Turn on includeRawExif and get the full raw EXIF object too.
Privacy note. GPS coordinates and dates are sensitive personal data. Use this Actor on your own images, or on images you have the right to analyze. It reads files you point it at; it does not search for people, scrape social networks, or log in anywhere.
What can this image metadata extractor read
- Camera and exposure:
make,model,lens,focalLength,focalLength35mm,iso,exposureTime(like1/250),exposureSeconds,aperture,exposureProgram,meteringMode,flash. - Dates:
dateTaken,dateDigitized,dateModifiedas ISO 8601 (sub-seconds and the time-zone offset are added when the camera recorded them). - GPS:
gpsLatitude,gpsLongitude,gpsAltitude(south, west and below sea level are negative),gpsDirection,gpsTimestampand amapsUrlthat opens the spot in a map. - Image facts:
format,mimeType,width,height,megapixels,colorMode,frames(animated GIF/WebP),orientationandorientationLabel,fileSizeBytes,sha256(find duplicates). - Authoring:
software,artist,copyright,description. - Color profile, XMP, IPTC: an
iccsummary (name, color space, class), basicxmpfields (title, creator, rights, rating, keywords) andiptcfields (title, keywords, byline, city, country, copyright, caption) when the file has them. - Formats: JPEG, PNG, WebP, TIFF, GIF, BMP and HEIC/HEIF (iPhone photos).
- Bulk and API-friendly: up to 5,000 images per run, optional dataset input (the output of another Actor), one bad URL never stops the run.
How to extract EXIF data from images in bulk
- Paste direct image links in Image URLs (one per line), or pick a dataset that contains image URLs.
- Optional: switch on Include raw EXIF object if you want every tag.
- Run it. Each image becomes one row. Download the dataset as JSON, CSV or Excel.
How to find where a photo was taken
Look at gpsLatitude, gpsLongitude and mapsUrl. hasGps is true only when valid coordinates exist. Many phones and cameras have location off, and almost every social network and messenger strips GPS on upload, so photos downloaded from those sites usually show hasGps: false. That is the real file, not an error.
Input example
{"urls": ["https://raw.githubusercontent.com/ianare/exif-samples/5332a9cf0220e9c6c93f88a187daa90808051e10/jpg/gps/DSCN0010.jpg"],"includeRawExif": false}
Other options:
{"datasetId": "<dataset id>", "datasetField": "imageUrl"}: analyze the images found in a scraper's output.{"maxImages": 500, "maxFileSizeMb": 50, "concurrency": 8}: bigger batches.
Output example
{"index": 1,"sourceUrl": "https://raw.githubusercontent.com/ianare/exif-samples/.../DSCN0010.jpg","fileName": "DSCN0010.jpg","status": "ok","error": null,"fileSizeBytes": 161713,"format": "JPEG","mimeType": "image/jpeg","width": 640,"height": 480,"hasExif": true,"hasGps": true,"make": "NIKON","model": "COOLPIX P6000","lens": null,"focalLength": 24,"focalLength35mm": 112,"iso": 64,"exposureTime": "1/75","aperture": 5.9,"dateTaken": "2008-10-22T16:28:39","gpsLatitude": 43.467448,"gpsLongitude": 11.885127,"gpsAltitude": null,"mapsUrl": "https://www.google.com/maps?q=43.467448,11.885127","orientation": 1,"orientationLabel": "Horizontal (normal)","software": "Nikon Transfer 1.1 W","icc": null,"xmp": null,"iptc": null}
status:ok(analyzed, charged),skipped(duplicate URL,maxImages, SVG, spending limit) orfailed(download error, not an image).errorsays why.- Fields the file does not have are
null, so every row has the same columns. - The
SUMMARYrecord has the totals: analyzed, with EXIF, with GPS, charged, plus notes such as "none of the images had EXIF data".
How much does it cost to extract image metadata
Pay per event: $0.003 per image analyzed (event image-analyzed, $3 per 1,000 images), plus the normal Apify platform usage of the run, which is small because only the file headers are parsed. There is no start fee. An image counts as analyzed when it downloads and is a readable image, even if it has no EXIF block (you still get size, format and color mode). Failed downloads, non-images, duplicates and skipped URLs are free. Set a maximum spending limit on your run and it stops cleanly when reached.
Use cases
- Audit a photo library: which camera, lens and settings were used, and when.
- Check whether your own images leak GPS location before you publish them.
- Sort and deduplicate photos by date taken, camera or checksum.
- Photo and image forensics, provenance and insurance documentation of your own images.
- Add location, camera and date columns to an image dataset from a scraper.
- Real estate, e-commerce and archive teams validating image size, color profile and orientation in bulk.
Limits (honest)
- The Actor downloads public image URLs. It does not log in and does not work around hotlink protection: a 401, 403 or 429 from the host is reported as
failed. - It reads metadata that is in the file. Many sites strip EXIF when images are uploaded or resized, so a thumbnail from a web page often has none. Use the original file URL when you can.
- Max 25 MB per file by default (up to 100 MB). SVG (vector) files have no EXIF and are skipped.
- Reads EXIF through Pillow. Manufacturer-specific MakerNote blocks (lens serial numbers, shot counts) are not decoded; the raw object only shows their size. Camera RAW formats (CR2, NEF, ARW, DNG) are not supported.
dateTakenis the camera's local clock time. It only has a time-zone offset when the camera wrote one.- XMP is read with a lightweight parser for the common basic fields, not the full XMP standard.
FAQ
How do I extract EXIF data from an image URL?
Paste the direct link to the image file in urls and run the Actor. The row contains the camera, settings, date and GPS fields.
Why is hasExif false or the GPS missing?
The file does not contain it. Social networks, messengers and many CMSs remove EXIF and GPS, and some cameras have location turned off. Try the original file.
Is the GPS latitude and longitude in decimal degrees? Yes. EXIF stores degrees, minutes and seconds with a N/S/E/W letter; the Actor converts them to signed decimals (south and west are negative) that you can paste into any map or GIS tool.
Can it read iPhone HEIC photos? Yes. HEIC/HEIF files are read, including their EXIF and GPS.
Can I get every EXIF tag, not only the common ones?
Yes, set includeRawExif to true. The exif object holds all tags with readable names, and GPS under GPSInfo.
Is it OK to analyze other people's photos? Only with the right to do so. GPS and date information is personal data. Use your own images or ones you are allowed to process.
Related tools
- Image Compressor & Resizer: Compress Images in Bulk : shrink images and strip EXIF and GPS.
- HEIC to JPG Converter: Convert HEIC/HEIF to JPG & PNG : turn iPhone photos into JPG or PNG.
- Download Images from URLs: Bulk Image & File Downloader : collect the image files first, then analyze them.