> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alura.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Freshness and pending

> How old the data is, when Alura refreshes it, and what happens when you ask for something Alura has never seen

Alura serves Etsy data from its own copy. Two fields tell you how current an answer is: `as_of` and `refresh`.

<Note>
  Fetching items Alura has never seen is switched off for now. Opening one answers `503 fetch_unavailable`. Bulk calls list them in `unfetched` with the code `fetch_unavailable`. Stale data comes back with `refresh: null`. Everything Alura already knows works as usual. The [status page](/status) says when this changes.
</Note>

## `as_of`

Every product, shop and keyword has `as_of`, the moment its data was last updated from Etsy. It is `null` when Alura doesn't know. In search results, `as_of` is when Alura's search copy was last updated, which can differ from the detail's.

## Stale data and `refresh`

A product or shop whose `as_of` is more than 14 days old is stale. Open one with `GET /v1/research/products/{id}` or `GET /v1/research/shops/{id}` and Alura returns the data it has right away, charged as usual. It also starts a refresh, and the response's `refresh` object says how it is going:

```json theme={null}
{
  "refresh": {
    "status": "queued",
    "progress": null,
    "started_at": null,
    "estimated_ready_at": "2026-10-15T12:04:00Z",
    "error": null
  }
}
```

`refresh` is `null` when nothing is running. Ask again after `estimated_ready_at` to get the new data. A product takes a few seconds and a shop a few minutes.

Search, expansions, reviews, tags and saved items never start a refresh.

## Items Alura has never seen

Opening a product or shop Alura has never seen, or looking up a keyword it doesn't know, asks Etsy for it. That is a fetch.

| Answer | Meaning | What to do |
| - | - | - |
| `202 Accepted` | The fetch started. The answer has `Retry-After` and a `Location`. Free. | Poll `Location` after `Retry-After` seconds |
| `404 not_found_on_etsy` | Etsy says the item doesn't exist. Alura remembers that for 24 hours. | Check the ID or name |
| `429 fetch_limit_reached` | A fetch cap or the per-minute fetch rate. See [fetch caps](/api-reference/rate-limits#fetch-caps). | Wait for `Retry-After` |
| `503 fetch_unavailable` | Fetching is switched off. | Use what Alura already has |

Bulk calls never fail on one unknown ID. They sort every ID into one of four lists:

* **`data`.** Items Alura knows. Only these are charged.
* **`pending`.** A fetch started.
* **`unfetched`.** No fetch started. Each entry has a `code` and `retry_after` seconds.
* **`not_found`.** Not on Etsy, or not available through Alura.

See [Bulk lookups](/guides/bulk-lookups).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.