EyeQuant stores analysis results for a fixed period after they are produced. Once that window closes, the outputs — including heatmap image URLs and numeric scores — are no longer accessible through the API. It is your responsibility to download and persist any results you need before they expire.
What Expires
The following are all subject to expiry:
- Heatmap and map image URLs — these are hosted on S3 with time-limited authentication tokens and will stop resolving after the expiry window
- Map downloads — any visual output file linked from the analysis response
- The analysis resource itself — the analysis object returned by the API will become unavailable
What You Need to Do
Once an analysis reaches status: success, you should immediately download and store:
- All map and heatmap image files (fetch each URL and save the file to your own storage)
- Any numeric scores returned in the
outputs object
Do not rely on storing just the analysis ID and fetching results later. The outputs will expire and the URLs will stop working. Download everything as soon as the analysis succeeds.
The resource_gone Error
If you attempt to retrieve an analysis that has already expired, the API returns a resource_gone error code. This is a permanent state — the data cannot be recovered once it has expired. See the Errors reference for the full list of error codes and their meanings.
Best Practice: Download Inside Your Polling Loop
The safest approach is to build result downloading directly into the loop where you check analysis status. That way, you never reach a point where an analysis succeeds but you have not yet captured its outputs.
Follow these steps as soon as your polling detects a completed analysis:
- Poll until
status === 'success'
- Extract all URLs from the
outputs object in the response
- Download and save each file to your own storage infrastructure
- Store any numeric scores in your database
By handling downloads immediately in step 3, you eliminate the risk of expiry affecting your integration entirely.