Overview

AquaMeter AI provides REST APIs to extract numeric readings from water meter images using AI vision models. You can choose between an asynchronous endpoint (receives a reference_id and a webhook later) or a synchronous endpoint (waits for the reading to be returned immediately).

API at a glance

Base URL

https://www.aquameter.site

Protocol

HTTPS only

Format

multipart/form-data → JSON

Quick start

1

Create an account

Sign up and choose a plan from the billing page.

2

Generate an API key

Create a key from the API Keys page in the dashboard. The full token is shown only once — copy it immediately.

3

Configure a webhook

Add an endpoint URL on the Webhooks page and subscribe to reading.completed and reading.failed. The reading is delivered there — there is no polling endpoint.

4

Send a request

POST a meter image to /api/meter-reading with your key in the Authorization header. You'll receive a reference_id immediately; match it to the webhook delivery to retrieve the reading.

Minimal example

AquaMeter AI supports two modes of operation:

Option A: Asynchronous (Default)

The response is an acknowledgement — the actual reading arrives at your webhook endpoint moments later.

curl
curl -X POST https://www.aquameter.site/api/meter-reading \
-H "Authorization: Bearer aqm_live_YOUR_API_KEY" \
-F "image=@meter.jpg"
JSON response
{
"reference_id": "9c7d3f2a-1e4b-4d5a-9b6c-1f2e3d4c5b6a",
"status": "pending"
}

Option B: Synchronous

The request blocks until the AI completes and returns the result immediately. No webhooks are sent.

curl
curl -X POST https://www.aquameter.site/api/meter-reading/sync \
-H "Authorization: Bearer aqm_live_YOUR_API_KEY" \
-F "image=@meter.jpg"
JSON response
{
"reference_id": "9c7d3f2a-1e4b-4d5a-9b6c-1f2e3d4c5b6a",
"reading": "02390.276",
"confidence": 97,
"status": "completed"
}

Rate limits

Limits are applied per calendar month and are determined by your plan. When you reach 80% of your limit, a usage.threshold_reached webhook fires. At 100% a usage.limit_reached webhook fires and further requests are rejected with 422.

PlanMonthly requestsPrice
Starter250$75 / mo
Pro500$100 / mo
BusinessUnlimited$350 / mo or $1,200 / yr

Next steps