Supporting Information

Frequently Asked Questions

Common questions about the Agdir Satellite API, analysis types, status codes, and troubleshooting.

What does "crop-specific" mean?

Analyses labeled as "crop-specific" (like Potato Analyses) use specialized ML models trained on data from that particular crop. However, the underlying satellite imagery captures all vegetation in the field — the analysis runs regardless of what is actually growing. It is your responsibility to ensure that the correct crop type is planted in the field for the results to be meaningful.

If you run a potato yield analysis on a wheat field, the system will still produce results, but they will not be accurate because the model was calibrated for potato canopy characteristics.

What is the difference between general and crop-specific analyses?

General analyses (vegetation indices, plant health, water stress) measure properties common to all vegetation — chlorophyll content, water content, leaf area. They work on any crop type.

Crop-specific analyses (crude protein, dry matter, biomass, potato yield/starch) use specialized models that have been trained and calibrated for specific crop types. They produce more accurate results for their target crop but should not be used on other crops.

What does a status code 200 mean?

An HTTP status code 200 and a GraphQL response with "Status": "OK" means the API successfully received and accepted your request. It does not mean the analysis is complete.

Think of it like placing an order at a restaurant: the waiter confirms your order (status 200), but the food still needs to be prepared. You need to check whether your order is ready by monitoring the request.

How do I check if my request is done?

Use any of the three monitoring queries:

  1. retrieveRequestDetails(requestId) — Check a specific request by its ID. Best for tracking a single analysis.
  2. retrieveRequestsHistory(polygonId, startDate, endDate) — View all completed and failed requests for a polygon. Good for batch monitoring.
  3. retrieveRequestsInProgress(polygonId) — List all active requests for a polygon. Useful for seeing what is still being processed.

A request is done when its status is Success, Error, or NoAvailableDate. See the Monitor a Request page for the full status workflow.

My request is not returning images. What could be wrong?

There are several common causes:

1. Request has not reached "Success" status

Results are only available after the request reaches the Success status. Check the status with retrieveRequestDetails(). If the status is still Submitted, SentinelQueue, or another intermediate status, the analysis is still processing.

2. No satellite data available

If the status is NoAvailableDate, it means no cloud-free satellite imagery was available for your polygon during the requested date range. Try expanding the date range or checking satellite download availability.

3. Request is still processing

Some analyses take longer than others, especially for large polygons or long date ranges. The processing pipeline handles satellite downloads, analysis computation, and result generation — each step takes time. Allow at least 10–30 minutes for most analyses.

4. Rare processing failures

In rare cases, a request may end in Error status due to internal processing issues. If this happens:

  • Check the error message in the response for details.
  • Try resubmitting the same request — transient errors often resolve on retry.
  • If the error persists, contact support@agdir.no with the request ID.

Can I request data for today?

No. The latest available date is yesterday. Satellite data requires processing time after acquisition before it becomes available in the Agdir system. See API Restrictions for all date limits.

How far back can I get data?

The earliest supported date is 2018-01-01. This is when Sentinel-2 data became reliably available with sufficient coverage and quality for the analyses provided by the API.

Need more help?

Contact the Agdir support team at support@agdir.no. Include your polygon ID and request ID when reporting issues for faster resolution.