Reference

Account API

Read your Iminify plan, its limits and how much of the day's images and page scans are used, from the account endpoint.

The account endpoint tells a script what it's working with: the plan behind the key, what that plan allows, and how much of today's allowance is gone. It's cheap to call and a good first request for any integration, because it proves the key works without compressing anything.

The limits and the usage are the same numbers the website's plan page shows, because the website and the API share them. A null limit means the plan has no daily cap there.

The Account object

name string
The account's name.
email string
Its email address.
plan string
The plan the account is on.
plan_ends_at timestamp or null
When a Pro plan ends, or null while it renews or on the free plan.
limits object
What the plan allows.
limits.images_per_day integer or null
Images a rolling 24 hours, or null for no daily cap.
limits.scans_per_day integer or null
Page scans a rolling 24 hours, or null for no daily cap.
limits.images_per_scan integer
The most images one page scan compresses.
limits.max_file_size string
The largest file you can upload or have fetched, in bytes.
limits.max_megapixels integer
The most pixels an image, or the image a resize would produce, may have, in millions.
limits.compressions_per_minute integer
Compressions you can queue in a minute: uploads, recompresses and retries together, from the API and the website combined.
limits.scans_per_minute integer
Page scans you can start in a minute, new and retried together, from the API and the website combined.
limits.requests_per_minute integer
Calls to the API in a minute, of every kind.
limits.max_batch integer
The most ids one batch call takes.
usage object
How much of the day's allowance is used. The website and the API spend the same counts.
usage.images object
Images compressed.
usage.images.used integer
How many the current window has used.
usage.images.remaining integer or null
How many are left, or null on a plan without a daily cap.
usage.images.resets_at timestamp or null
When the window opens again, or null while nothing has been used. The window is a rolling 24 hours from the first use, not midnight.
usage.scans object
Page scans run.
usage.scans.used integer
How many the current window has used.
usage.scans.remaining integer or null
How many are left, or null on a plan without a daily cap.
usage.scans.resets_at timestamp or null
When the window opens again, or null while nothing has been used. The window is a rolling 24 hours from the first use, not midnight.

Get your account

GET /api/v1/account

Your plan, what it allows and how much of today's allowance is gone. The website and the API spend the same daily counts, so an image compressed on the site shows up in usage here too. A limit of null means no daily cap. The window is a rolling 24 hours that starts with your first image or scan, not midnight, so resets_at is null until something has been used. This is also the cheapest way to check that a key works.

Request

curl "https://www.iminify.com/api/v1/account" \
  -H "Authorization: Bearer $IMINIFY_API_KEY" \
  -H "Accept: application/json"

Response 200

JSON
{
    "data": {
        "name": "Ada Lovelace",
        "email": "[email protected]",
        "plan": "free",
        "plan_ends_at": null,
        "limits": {
            "images_per_day": 40,
            "scans_per_day": 3,
            "images_per_scan": 20,
            "max_file_size": 33554432,
            "max_megapixels": 64,
            "compressions_per_minute": 20,
            "scans_per_minute": 1,
            "requests_per_minute": 60,
            "max_batch": 150
        },
        "usage": {
            "images": {
                "used": 12,
                "remaining": 28,
                "resets_at": "2026-10-02T09:30:00+00:00"
            },
            "scans": {
                "used": 1,
                "remaining": 2,
                "resets_at": "2026-10-02T11:05:00+00:00"
            }
        }
    }
}