Usage and Logs

GET/api/v1/keys/usage

Returns your current plan, quota usage, rate limit, and billing period details. Use it to monitor consumption, trigger alerts before you run out, or display usage in your own dashboard.

Headers

HeaderRequiredDescription
X-API-KeyRequiredYour API key

Response fields

FieldTypeDescription
emailstringAccount email
planstringCurrent plan slug: free, lite, starter, growth, enterprise or enterprise_plus. Grandfathered accounts may show starter_legacy, starter_legacy2, growth_legacy, growth_legacy2 or enterprise_legacy.
monthly_limitintegerMaximum lookups per billing period
used_this_monthintegerLookups consumed in the current period
remainingintegerLookups remaining
percent_usednumber | nullPercentage of quota consumed
rate_limit_per_minintegerMaximum requests per minute on your plan
last_lookup_atstring|nullTimestamp of your most recent lookup (null if none)
period_startstring|nullBilling period start, YYYY-MM-DD HH:MM:SS UTC. Without a Stripe subscription this is the monthly anniversary of signup.
period_endstring|nullBilling period end, same format. Null when there is no Stripe billing period (free plan, or a plan assigned without a subscription).
days_remaininginteger | nullDays until the billing period ends. Null whenever period_end is null.
cancel_at_period_endbooleanWhether a downgrade is scheduled at period end
cancel_atstring|nullWhen the scheduled downgrade takes effect (same format)
topup_creditsintegerPurchased top-up lookups remaining. Used only after the monthly quota is exhausted; they never expire.
shell
curl -s "https://api.plateapi.com.au/api/v1/keys/usage" \
  -H "X-API-Key: pk_live_YOUR_API_KEY"
200 OK -- starter plan example
{
  "email": "[email protected]",
  "plan": "starter",
  "monthly_limit": 600,
  "used_this_month": 182,
  "remaining": 418,
  "percent_used": 30.3,
  "rate_limit_per_min": 10,
  "last_lookup_at": "2026-07-29 08:01:56",
  "period_start": "2026-07-01 00:00:00",
  "period_end": "2026-08-01 00:00:00",
  "days_remaining": 2,
  "cancel_at_period_end": false,
  "cancel_at": null,
  "topup_credits": 0
}
200 OK -- enterprise plan example
{
  "email": "[email protected]",
  "plan": "enterprise",
  "monthly_limit": 18000,
  "used_this_month": 8421,
  "remaining": 9579,
  "percent_used": 46.8,
  "rate_limit_per_min": 60,
  "last_lookup_at": "2026-07-29 12:30:00",
  "period_start": "2026-07-15 00:00:00",
  "period_end": "2026-08-15 00:00:00",
  "days_remaining": 16,
  "cancel_at_period_end": false,
  "cancel_at": null,
  "topup_credits": 500
}
GET/api/v1/keys/logs

Returns a paginated list of your lookup history. Each entry includes the plate, state, result, response time, and the vehicle data that was returned. Use it to audit your integration, debug failed lookups, or build your own analytics.

Headers

HeaderRequiredDescription
X-API-KeyRequiredYour API key

Query parameters

ParameterTypeDefaultDescription
limitinteger100Number of entries to return (max 500)
offsetinteger0Number of entries to skip (for pagination)
sincestring--Start of time range (ISO 8601, UTC). Example: 2026-07-01T00:00:00
untilstring--End of time range (ISO 8601, UTC). Example: 2026-07-31T23:59:59
platestring--Filter by plate number (case-insensitive)
successboolean--Filter by outcome: true for found vehicles, false for not-found or errors

Response fields

FieldTypeDescription
logsarrayArray of log entries (see below)
countintegerNumber of entries in this response
totalintegerTotal entries matching your filters (for pagination)
limitintegerThe limit that was applied
offsetintegerThe offset that was applied

Each entry in the logs array contains:

FieldTypeDescription
platestringThe plate that was looked up
statestringState code
successinteger1 if a vehicle was found, 0 if not
errorstringError code if the lookup failed (e.g. not_found), empty string on success
duration_msnumberResponse time in milliseconds
makestring|nullVehicle make (null if not found)
modelstring|nullVehicle model (null if not found)
yearinteger | nullVehicle year (null if not found)
client_ipstringIP address the request came from
request_idstring|nullThe request_id of that lookup (null for lookups made before August 2026)
created_atstringWhen the lookup happened (UTC)
shell -- get your last 5 lookups
curl -s "https://api.plateapi.com.au/api/v1/keys/logs?limit=5" \
  -H "X-API-Key: pk_live_YOUR_API_KEY"
200 OK
{
  "logs": [
    {
      "plate": "ABC123",
      "state": "VIC",
      "success": 1,
      "error": "",
      "duration_ms": 2985.19,
      "make": "TOYOTA",
      "model": "HILUX",
      "year": 2015,
      "client_ip": "203.0.113.42",
      "request_id": "req_7f3a9c1b4e8d2f6a0c5e1b9d",
      "created_at": "2026-07-29 08:01:56"
    },
    {
      "plate": "XYZ789",
      "state": "NSW",
      "success": 0,
      "error": "not_found",
      "duration_ms": 4521.33,
      "make": null,
      "model": null,
      "year": null,
      "client_ip": "203.0.113.42",
      "request_id": "req_2c1d9e7a4b3f8e6d0a1b5c7e",
      "created_at": "2026-07-29 07:58:31"
    }
  ],
  "count": 2,
  "total": 84,
  "limit": 5,
  "offset": 0
}
shell -- filter by plate and time range
curl -s "https://api.plateapi.com.au/api/v1/keys/logs?plate=ABC123&since=2026-07-01T00:00:00&until=2026-07-31T23:59:59" \
  -H "X-API-Key: pk_live_YOUR_API_KEY"
shell -- get only failed lookups
curl -s "https://api.plateapi.com.au/api/v1/keys/logs?success=false" \
  -H "X-API-Key: pk_live_YOUR_API_KEY"