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).
Base URL
https://www.aquameter.site
Protocol
HTTPS only
Format
multipart/form-data → JSON
Create an account
Sign up and choose a plan from the billing page.
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.
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.
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.
AquaMeter AI supports two modes of operation:
The response is an acknowledgement — the actual reading arrives at your webhook endpoint moments later.
curl -X POST https://www.aquameter.site/api/meter-reading \-H "Authorization: Bearer aqm_live_YOUR_API_KEY" \-F "image=@meter.jpg"
{"reference_id": "9c7d3f2a-1e4b-4d5a-9b6c-1f2e3d4c5b6a","status": "pending"}
The request blocks until the AI completes and returns the result immediately. No webhooks are sent.
curl -X POST https://www.aquameter.site/api/meter-reading/sync \-H "Authorization: Bearer aqm_live_YOUR_API_KEY" \-F "image=@meter.jpg"
{"reference_id": "9c7d3f2a-1e4b-4d5a-9b6c-1f2e3d4c5b6a","reading": "02390.276","confidence": 97,"status": "completed"}
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.