One API for every waste hauler your customers use.
the API · /v1/accounts, /v1/invoices, /v1/documents
the same fields for every hauler · each invoice keeps the hauler's invoice number
change events · signed, so no one can resend a copied request
MCP tools · latest_records, changes, record_history, invoice_text, portal_health, coverage
Connect a hauler account once. Rover delivers its invoices, services and locations to your product and your agents on schedule.
Three ways to get the data
Open an account to get an API key and the full API reference.
Pull accounts, invoices and PDFs with the same fields for every hauler.
Register a webhook to get a signed event when data changes.
Your AI agents can query the data through an MCP server.
What your agent can do
Your agent can audit new invoices, explain rate changes, reconcile AP and answer questions about any site.
Signed change events
Each delivery carries a timestamp and an HMAC signature, so no one can resend a copied request.
POST /v1/subscriptions
{ "channel": { "kind": "webhook",
"url": "https://your.app/rover" } }
# every delivery carries
X-Rover-Timestamp: 1790294400
X-Rover-Signature: sha256=HMAC(secret, ts + "." + body)
# verify before you trust it
const mac = createHmac('sha256', secret)
.update(`${ts}.${raw}`).digest('hex')
timingSafeEqual(mac, sig.slice(7))Your integration keeps working when portals change
Each invoice keeps the hauler's invoice number, so fixes never create duplicates.
A fix only changes how Rover finds a field. See a fix happen.
Each API key sees only its own customer's logins and records.