Skip to content
TruTecDevelopers
Get an API key

Limits & billing

What the API costs, what uses measurement credits, and how fast you can call it.

View as Markdown

What costs what#

API access is part of your TruTec plan. There's no separate API fee and no charge per call for reading or writing your own data.

Call Cost
Reading and writing customers, sites, jobs, estimates, job costing, events, webhooks and exports Included
Reading saved measurements, results and imagery Included
Polling a measurement's status (GET /detect/status/{job_id}) Included
Finding parcels (GET /parcels, or MCP find_parcels) Included
Map images of saved takeoffs (export-image, imagery, map-link, or MCP get_map_image) Included
Starting a measurement (POST /detect/full, /detect/address, /detect/tiles, or MCP measure_site / create_takeoff) Counts as one measurement on the key, however many parcels or areas it covers. Volume and any per-measurement price are set by your plan or agreement
A condition rating (POST /condition/paser or /condition/pci) Set by your plan or agreement
Starting a blueprint takeoff (POST /jobs/{job_id}/blueprint-takeoffs, or MCP create_blueprint_takeoff) One takeoff credit, the same as starting an AI Blueprint takeoff in the app. Sheets, scale and title reads, model runs and edits on it are included. See Blueprint takeoffs

Reading a finished measurement again is free, so save the job_id and re-read it instead of measuring the same site twice.

Rate limits#

We don't enforce a fixed requests-per-minute limit today. To keep things fast for everyone, and to stay inside any limit we add later:

  • keep to about 10 requests per second per workspace,
  • run at most 5 measurements at once, and poll each one no more than every 3 seconds,
  • use webhooks or the event feed to learn about changes instead of re-reading everything on a timer,
  • use bulk export for full copies of your data instead of paging through every endpoint.

Handle 429 Too Many Requests now: back off and retry, honoring Retry-After if it's present (Errors & retries). If we introduce or change a rate limit, we'll announce it the way we announce other changes (Versioning & changes).

Per-key call caps#

You can ask us to put a cap on the number of calls a key can make, which is useful for a contractor's integration, a pilot or a test key. When a key reaches its cap, calls return 429 with the cap and the count:

{
  "error": "API usage limit exceeded",
  "message": "This API key has reached its limit of 500 calls",
  "usage": {"count": 500, "limit": 500}
}

Request limits#

  • Send JSON bodies under 10 MB. Photo and file uploads have their own limits, listed on their endpoints.
  • Measurement areas have a maximum size; the limits and the error you get are in Measure a site.
  • List endpoints are paged. Each page's maximum size is listed on the endpoint.