View and remove EXIF data over HTTP.

 

Exif.in is a webservice that reads EXIF data from an image and returns it in JSON-y goodness. Request a /strip and you'll get back an exact copy with all EXIF information removed.

See a sample HTTP request and the quickstart guide below.

Quickstart Guide  With examples in Python

Base64 Encode The URI

Exif.in requires each image to be reachable via HTTP GET. You'll need to Base64 encode the URI (path) of the image file before passing it to Exif.in

            import base64
            base64.b64encode('http://www.findexif.com/client/samples/swiss_view.jpg')
            >> 'aHR0cDovL3...lldy5qcGc='
          
GET Some JSON

Fire off a HTTP GET request to http://exif.in/exif/your-base64-string. Exif.in will raise an appropriate status code if there's a hiccup (see HTTP Responses, below). Otherwise you'll receive the EXIF data in a JSON payload.

            import requests
            req = requests.get('http://exif.in/exif/aHR0cDovL3...lldy5qcGc=')
            req.status_code
            >> 200
            req.json
            >> {...u'ISOSpeedRatings': u'80', u'Model':u'DSC-H5',...
          
Keeping A Low Profile?

Append /strip to your HTTP GET request and you'll get back a URI to an exact copy of the image with its EXIF data removed. This copy is ephemeral and deleted from S3 after twenty-four hours. Download - not link! - please.

            import requests
            req = requests.get('http://exif.in/exif/aHR0cDovL3...lldy5qcGc=/strip')
            req.text
            >> u'https://s3.amazonaws.com/exifin/39f6ecbeb73c.jpg'
          

Service Status

No problems at the moment.

If you rely on Exif.in for a pet project or two, you may want to subscribe to the Exif.in newsletter - for rare, critical service updates only. Sign up here.

Terms of Service

This service is provided as-is, without any warranty. Please do not use this service for commercial use. I'm not responsible for image content, corruption or data loss. Please use responsibly. Thanks to the low cost of bandwidth and storage, there is no fee to use Exif.in and no registration is required. If the service is abused or experiences usage beyond what I'm capable of supporting, this may change.

HTTP Responses

If you've received an HTTP status code that is > 200, these clues may help.

  • 404 Not Found if Exif.in can't reach the image after Base64 decoding what you passed in. Double check your path and encoding.
  • 204 No Content means Exif.in was able to grab your image but there was no EXIF data inside. Like all 2xx response codes, this is considered successful.
  • 415 Unsupported Media Type if you asked Exif.in to fetch someting besides JPG or TIF.