API · /exif-api

EXIF API

healthy 4,571 Subscribers

Extract the hidden metadata baked into a photo. Pass an image URL (we fetch it) or a base64 image and get back its EXIF, GPS, IPTC and XMP data: the camera make and model, lens, software, the capture date/time, full exposure settings (shutter speed, aperture / f-number, ISO, focal length, flash, metering and white balance), orientation, colour space and resolution, plus the GPS location (latitude, longitude, altitude) with a ready Google Maps link — and the complete raw tag map. A dedicated /v1/gps endpoint returns just the geotag. Supports JPEG, TIFF, HEIC and PNG. Parsing runs locally (no third-party service) and nothing is stored. Live. 3 endpoints. Built for photo-management apps, geotagging, digital forensics, copyright/credit checks and image pipelines. Distinct from a basic image-info or resize service. No upstream key.

api.oanor.com/exif-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/exif-api/openapi.json
/api/exif-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
135 ms
Server probes · 24h
Subscribers
4,571
active
Total calls
42
last 7 days
status Full status page → · 18 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 1,680 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 1,680 calls/month
  • 2 req/sec
  • EXIF + GPS + IPTC + XMP
  • No credit card
Sign in to subscribe

Starter

€9.50 /month

  • 36,000 calls / month
  • 8 requests / second
  • Hard cap (429 above quota, no overage)
  • 36k calls/month
  • 8 req/sec
  • URL + base64, up to 25 MB
  • Email support
Sign in to subscribe

Pro

€28.50 /month

  • 200,000 calls / month
  • 20 requests / second
  • Hard cap (429 above quota, no overage)
  • 200k calls/month
  • 20 req/sec
  • Photo / forensics pipelines
  • Priority support
Sign in to subscribe

Mega

€64.50 /month

  • 1,010,000 calls / month
  • 50 requests / second
  • Hard cap (429 above quota, no overage)
  • 1.01M calls/month
  • 50 req/sec
  • Platform scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Polyline API

Encode and decode Google/Mapbox encoded polylines — the compact ASCII string used by the Google Maps Directions API, Mapbox, Valhalla, OSRM and GPX-style route geometry to pack a list of coordinates into a few bytes. Decode an encoded string into an array of latitude/longitude points, encode a coordinate list back into a polyline (precision 5, the Google default, or 6 for OSRM/Valhalla overview), and measure a path — point count, total length by the haversine great-circle formula in km and miles, and the bounding box. Perfect for drawing routes on a map, storing tracks compactly, computing trip distance and fitting a map viewport. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. Distinct from coordinate-format conversion (Plus Code/MGRS/UTM) and geohash.

api.oanor.com/polyline-api

Photography Calculator API

Camera and optics maths as an API. The depth-of-field endpoint computes the near and far limits of sharp focus, the total depth of field and the hyperfocal distance from a focal length, aperture and focus distance, using the circle of confusion for your sensor format — full-frame, APS-C, Micro Four Thirds, 1-inch, medium format, Super 35 and more, or your own value. The field-of-view endpoint gives the horizontal, vertical and diagonal angle of view for a focal length on a given sensor, plus the crop factor and the 35 mm-equivalent focal length. The exposure endpoint computes the exposure value (EV) from aperture, shutter speed and ISO, and can also solve for the shutter speed or aperture that hits a target EV. Everything is computed locally and deterministically, so it is instant and private. Ideal for photography and videography apps, camera and lens tools, focus-stacking and landscape planning, and teaching exposure and optics. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. This computes camera optics; for reading EXIF metadata from photo files use an EXIF API.

api.oanor.com/photography-api

Balloon Decor API

Party-balloon maths as an API, computed locally and deterministically — the helium-lift and balloon-count numbers a party planner or balloon artist decorates by. The helium endpoint gives a balloon’s lift from its inflated diameter: net lift is the inflated volume times the difference between air and helium density, about 1.046 grams per litre, so a fully inflated 11-inch latex balloon (around 11.4 litres) lifts roughly 12 grams gross and about 9 after its own weight, while a 36-inch giant lifts hundreds of grams. The float endpoint flips it around — how many balloons to float a payload = the weight divided by the net lift per balloon, rounded up, so a 50-gram card floats on six 11-inch balloons. The garland endpoint sizes an organic balloon garland or arch from its length: about 12 balloons per foot in a mix of sizes — roughly 40 % 5-inch, 45 % 11-inch and 15 % 16-inch for that full, textured look — so a 10-foot garland takes about 120 balloons, denser if you want it lush. Everything is computed locally and deterministically, so it is instant and private. Ideal for party-planning, event-decor, balloon-artist and celebration app developers, decor-estimator and shopping-list tools, and event software. Pure local computation — no key, no third-party service, instant. Inches and grams. Live, nothing stored. 3 compute endpoints.

api.oanor.com/balloon-api

Grain Bin API

Grain-bin storage maths as an API, computed locally and deterministically — the bushel and weight numbers a farmer or elevator sizes storage by. The bushels endpoint measures a round bin: floor area × grain depth gives the cubic feet, and a cubic foot holds about 0.8036 bushels, so an 18-foot bin filled 20 feet level holds roughly 4,090 bushels — and grain heaped to a peak adds a cone of (1/3) × floor area × peak height, so a 4-foot peak adds about 270 more. The weight endpoint converts bushels to weight by the crop’s standard test weight — corn and sorghum at 56 pounds a bushel, wheat and soybeans 60, oats 32, barley 48 — so those 4,090 bushels of corn weigh 229,040 pounds, about 114.5 US tons or 104 tonnes; pass a measured test weight for light or heavy grain. Everything is computed locally and deterministically, so it is instant and private. Ideal for agriculture, grain-elevator, farm-management and ag-tech app developers, storage-capacity and inventory tools, and harvest software. Pure local computation — no key, no third-party service, instant. US units (feet, bushels, pounds). Live, nothing stored. 2 compute endpoints.

api.oanor.com/grainbin-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for EXIF API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call EXIF API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for EXIF API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does EXIF API cost?
EXIF API has a free tier with 100 calls / month. Paid plans start at €9.50 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is EXIF API GDPR-compliant?
All requests to EXIF API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/exif-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/exif-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/exif-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/exif-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.