> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acrelens.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing

> Per-report pricing, free trial, top-up minimums, and spend controls.

## Plans

**New accounts start on a subscription model — the Free plan**, which includes **3 reports per month**. When you exhaust the monthly allotment, `POST /v1/analyze` returns `429 quota_exceeded` until the next period.

| Plan | Price | Reports / month | Saved parcels | API access |
| - | - | - | - | - |
| **Free** | \$0 | 3 | 5 | — |
| **Starter** | \$19/mo | 25 | 25 | — |
| **Pro** | \$49/mo | 150 | 250 | ✓ |
| **Enterprise** | [Contact us](mailto:support@acrelens.com) | 5,000 | 5,000 | ✓ |

REST API and MCP access **require a Pro plan or above** — Free/Starter keys are rejected with `403 api_access_required`. (Legacy pay-as-you-go accounts keep API access.) Enterprise is custom-priced for high-volume teams — [contact us](mailto:support@acrelens.com) for a quote.

> **Legacy pay-as-you-go.** Existing customers on the PAYG model keep it: a prepaid balance with each report deducting **\$3.99**. New accounts are not created in PAYG mode. The PAYG details below apply only to legacy PAYG accounts.

## What things cost (legacy PAYG)

| Item | Price |
| - | - |
| Report (`POST /v1/analyze`) | **\$3.99** |
| Batch report (per item, `POST /v1/batch`) | **\$3.99** |
| Quick score (via [MCP](/guides/mcp-server)) | **\$1.00** |
| State profile (via MCP) | free |
| Solar potential (via MCP) | free |
| `GET /v1/balance`, `GET /v1/usage`, `GET /v1/reports`, `GET /v1/states/{code}` | free |
| `GET /v1/health` | free |
| Webhook delivery | included |
| Dashboard access | included |

Webhooks, retries, idempotency, the dashboard — all bundled. No surprise line items.

## Free trial (legacy PAYG)

Legacy PAYG accounts get **4 free reports** after completing signup and adding a card on file. Free reports:

* Apply automatically — no flag required on your requests
* Decrement before any balance is charged
* Surface in the dashboard as `Free reports remaining`
* Don't expire — they stay on your account until used
* Don't decrement on failed reports

You'll see a balance of `$5.00` (or whatever you topped up) plus a free-reports counter — both are spent automatically in the right order.

## Top-ups

| | Value |
| - | - |
| Minimum top-up | **\$5.00** |
| Maximum per transaction | \$10,000.00 |
| Payment method | Stripe Checkout (cards, Apple Pay, Google Pay) |
| Currency | USD |

The dashboard's **Add funds** button opens a top-up modal — pick a quick amount or enter any amount between $5 and $10,000.

## Auto-recharge

Set it once and forget about top-ups:

1. **Dashboard → Billing → Auto-recharge**
2. Pick a **threshold** (e.g. when balance \< \$5)
3. Pick a **recharge amount** (e.g. add \$20)
4. Save

When your balance crosses the threshold, AcreLens charges your saved card off-session and credits the balance. No browser flow on each top-up.

If a saved-card charge fails, AcreLens logs the failure and emails you to update your card. Your balance simply isn't topped up — so once it falls below `$3.99` with no free reports left, requests return `402 insufficient_balance` until you add funds.

## Spend caps

Two independent caps you can set in the dashboard:

| Cap | Reset | Behavior |
| - | - | - |
| **Daily** | 00:00 UTC | Returns `402 DAILY_CAP_EXCEEDED` past the limit |
| **Monthly** | 1st of calendar month, 00:00 UTC | Returns `402 MONTHLY_CAP_EXCEEDED` past the limit |

Both are off by default. Recommended for any production deployment — they're cheap insurance against runaway loops or leaked keys.

## Refunds

* **Failed reports** don't auto-refund. Email support with `report_id`s for legitimate cases (repeated failures on a valid address, system outages) and we'll credit your balance manually.
* **Manual credits** appear in your transaction history as `REFUND` or `CREDIT` entries.
* **Disputed charges** through Stripe are handled per Stripe's process — we don't retain a separate refund flow outside Stripe.

## Volume / enterprise

If you're processing more than \~5,000 reports/month, custom contracts are available with:

* Discounted per-report rates
* Higher rate limits (up to 100 req/sec)
* Larger batch sizes
* Dedicated support
* Optional SLA / uptime commitments

Email [support@acrelens.com](mailto:support@acrelens.com) with your expected volume and use case.

## Programmatic access

Pull your billing state from the API instead of scraping the dashboard:

| Endpoint | Returns |
| - | - |
| `GET /v1/balance` | `balance_cents`, `free_reports_remaining`, last 10 transactions |
| `GET /v1/usage` | Same plus period dates and rate per report |

Both require an API key and are free to call.

## Tax

Stripe collects sales tax / VAT where required based on the billing address on file. Tax appears as a separate line item on your Stripe receipts — it doesn't come out of your AcreLens balance.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.