Photo and screenshot metadata
EXIF, dates, device, software and GPS from JPEG, PNG, WebP and HEIC/HEIF.
POST /v1/image/metadata reads image properties without expected payment details.
Use it to inspect photo and screenshot metadata or provide a report to an operator.
curl https://api.kvitera.tech/v1/image/metadata \
-H "Authorization: Bearer $KVITERA_API_KEY" \
-F "file=@photo.jpg"Send one file in file. Additional form fields and query parameters are not supported.
See the API reference for the full schema.
Read the report
| Field | Use |
|---|---|
file | Format, file size, image dimensions, color mode and image/frame count |
metadata | Recorded device, software, author, orientation and dates |
metadata.properties | Supported values with exif, xmp or png source; truncated marks shortened values |
location | GPS status: valid, missing or invalid; coordinates and available altitude |
findings | Explanations about differing dates, sources and recorded editing software |
coverage | Source coverage and inspected image count |
limitations | Limits to consider when interpreting the report |
status: complete means the stated checks completed. partial means some information
is unavailable or shortened. For a container with multiple images, only the primary
image is inspected; this is explicitly marked with primary_image_only.
assessment is signals_detected, no_signals_detected or inconclusive.
It is not an authenticity verdict. Ordinary editing and exporting can leave the same
signs. Missing EXIF is normal for screenshots and does not establish forgery.
This method does not inspect pixels, prove image origin or confirm payment receipt.
Dates and coordinates
Dates include the source string raw, interpreted value, status and
timezone_known. Do not assume a date without a timezone means UTC. invalid means
the value could not be interpreted correctly; source properties remain in the table
when they could be read.
With location.status: valid, latitude and longitude are decimal degrees.
Zero is a valid coordinate. missing means no coordinates in the supported fields;
invalid means values are present but could not be interpreted. GPS can be sensitive:
consider this when storing or sharing reports. Recorded coordinates are not independent
proof of where an image was captured.
Limits, history and retries
- JPEG/JPG, PNG, WebP and HEIC/HEIF up to 15 MiB and 100 MP. Complex files may be rejected earlier.
- The standard limit is 30 requests per minute per company, shared across PDF/image metadata, API keys and workspace requests.
- Uploads have 15 seconds and analysis has 10 seconds. Allow additional client time, for example a 35-second timeout.
- Receipt check quota is not consumed. There is currently no separate tariff quota for metadata.
- Repeating a request creates a new analysis and report.
Idempotency-Keydoes not change this behavior.
Source images are not retained. Reports and filenames are available to your company’s members in workspace history for 30 days. Save JSON in your system for longer retention. The free landing-page form does not save reports to company history and shares its free limit with PDF inspections.
Handle errors
| HTTP | Code | Action |
|---|---|---|
| 401 / 403 | unauthorized, tenant_disabled | Check the key and company access |
| 408 | upload_timeout | Check the connection and retry |
| 413 | upload_too_large | Choose a smaller file |
| 415 | unsupported_media_type | Send JPEG, PNG, WebP or HEIC/HEIF |
| 422 | validation, invalid_image | Check the request fields or choose a readable original file |
| 422 | image_complexity_limit, image_analysis_timeout | Use a less complex file; do not retry it indefinitely |
| 429 | rate_limit | Wait for the seconds in Retry-After |
| 503 | overloaded, image_analysis_unavailable, database_unavailable | Retry later |
| 503 | feature_unavailable | The method is temporarily disabled |
Responses include Cache-Control: no-store. See the error guide
for the error envelope and the separate method for PDFs.