File Metadata Extraction as a Service
Scalable, Fast, Simple
Try now, for free

About ElasticExif

ElasticExif is a cloud service that extracts all the embedded metadata from files such as images and videos and returns it as a JSON document. It can extract EXIF, XMP, IPTC and many more metadata tags from a wide number of file formats.
It works with files stored in Amazon S3 and any other cloud storage provider — in fact any file that ElasticExif can read from a URL.

ElasticExif is a cloud-hosted wrapper around the read function of the excellent ExifTool. If you want a tool to extract file metadata that you can install on your own server then go ahead and download ExifTool. Otherwise, if you are looking for a scalable cloud service to extract EXIF and other metadata from files stored in S3 (and elsewhere) that is ready to use right now, you’ve found it!

Pricing

We charge for ElasticExif based on the sum of size of files processed in a month.

Contact us for volume pricing.

How to use

    Getting started

  1. Sign up to start at the free tier.
  2. Go to your account page to generate your authentication ID and authentication secret.

  3. For each file

  4. Obtain a publicly-accessible URL for your file. For security reasons, if access to your files is generally restricted, we recommend you obtain a time-limited URL to the file (for example, see how to create a pre-signed URL in Amazon S3).
  5. Generate a unique ID for the file - you will pass this to the exif resource so you can identify the job/file in subsequent calls. For example, this may be a database ID related to the file, or just a UUID.
  6. POST the URL of the file to the exif resource (https://api.elasticexif.com/exif). We recommend you do this as soon as possible after uploading your file so that ElasticExif can get busy processing the file in the background.
  7. You can try this out using Swagger or curl:

    curl -X POST --insecure -I --header "Content-Type: application/json" --header "Accept: */*" "https://[authentication ID]:[authentication secret]@api.elasticexif.com/exif/[your unique id for the job]?fileUrl=[your file URL]"

    If all is well, you will receive a 200 response code.

  8. GET the data via the ID (https://api.elasticexif.com/exif/your-job-id). This will return the status of the exif job plus the exif data as JSON if ready and present. If the status is pending then the job is still in progress so wait a while and then try the GET again.
  9. You can try this out using Swagger or curl:

    curl -X GET --insecure --header "Accept: application/json" "https://[authentication id]:[authentication secret]@api.elasticexif.com/exif/[your unique ID for the job]"