Skip to content

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) = 43 units;
  • statistics returning 6 dates cost ceil(42.3 × 6 / 10) = 26 units;
  • one dates call costs 1 unit.
  • 202 data_pending responses.
  • Every error: 4xx and 5xx, including 429 rate_limited.
  • A statistics response with no dates in data.

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.

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:

  1. You register a 500 ha field: 500 ha consumed, 500 ha left.
  2. You delete it: still 500 ha consumed.
  3. 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.

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