Units and hectares
AgroSat bills the API by contract and invoice; there is no card on file and no automatic charge. Your contract counts usage in units, in hectares, or in both:
| Contract mode | What is limited |
|---|---|
| Units | Satellite requests consume units from a monthly quota. |
| Hectares | Registered fields consume area from the contracted hectares. |
| Both | Both limits apply. |
Your AgroSat contact sets the mode and the limits. The owner sees current usage in the web app.
Every successful satellite response consumes units and reports how many in the X-AgroSat-Units header. With the default coefficients:
| Call | Units |
|---|---|
GET /v1/fields/{id}/image |
ceil(area_ha) |
GET /v1/fields/{id}/statistics |
ceil(area_ha × dates returned / 10) |
GET /v1/fields/{id}/dates |
1 |
Field calls and GET /v1/ping |
0 |
Every successful satellite call costs at least 1 unit, except a statistics response with no dates, which costs 0. Your contract may set different coefficients; the header always shows what was actually charged.
For a field of 42.3 ha:
- one image, PNG or GeoTIFF, costs
ceil(42.3) = 43units; - statistics returning 6 dates cost
ceil(42.3 × 6 / 10) = 26units; - one dates call costs 1 unit.
What is never billed
Section titled “What is never billed”202 data_pendingresponses.- Every error:
4xxand5xx, including429 rate_limited. - A statistics response with no dates in
data.
Monthly quota
Section titled “Monthly quota”In the units and both modes, units are counted per calendar month in UTC. When this month’s units reach your quota, satellite requests fail with 403 quota_exceeded until the first day of the next month, or until AgroSat raises the quota. Requests already in flight when the quota is reached may take you slightly over it. Field calls keep working.
Hectares
Section titled “Hectares”In the hectares and both modes, each registration consumes the field’s area from the hectares in your contract period.
For example, with 1,000 contracted hectares:
- You register a 500 ha field: 500 ha consumed, 500 ha left.
- You delete it: still 500 ha consumed.
- You register a 30 ha field: 530 ha consumed, 470 ha left.
A registration that does not fit in the hectares left fails with 403 quota_exceeded, and no field is created. Fields your organization keeps in the AgroSat web app count towards the same allowance.
Contract limits at a glance
Section titled “Contract limits at a glance”| Limit | Default | Error when exceeded |
|---|---|---|
| Monthly units | Set per contract | 403 quota_exceeded |
| Contracted hectares | Set per contract | 403 quota_exceeded on registration |
| Area of one field | 5,000 ha | 400 field_too_large |
| Requests per minute per key | 60 | 429 rate_limited |
| Live API keys | 2 | Key creation refused in the web app |
| Earliest history date | Set per contract | 400 date_out_of_range |
