# Network indexer

A *network indexer*, also referred to as an *indexer node* or *indexer*, is a node that maps content identifiers (CIDs) to records of who has the data and how to retrieve that data. These records are called *provider data records*. Indexers are built to scale in environments with massive amounts of data, like the Filecoin network, and are also used by the IPFS network to locate data. Because the Filecoin network stores so much data, clients can’t perform efficient retrieval without proper indexing. Indexer nodes work like a specialized key-value store for efficient retrieval of content-addressed data.

There are two groups of users within the network indexer process:

* *Storage providers* advertise their available content by storing data in the indexer. This process is handled by the indexer’s *ingest* logic.
* *Retrieval clients* query the indexer to determine which storage providers have the content and what protocol to use, such as Graphsync, Bitswap, etc. This process is handled by the indexer’s *find* logic.

## How the indexer works

This diagram summarizes the different *actors* in the indexer ecosystem and how they interact with each other. In this context, these actors are not the same as [smart-contract actors](/smart-contracts/filecoin-evm-runtime/actor-types.md).

<figure><img src="/files/QjunCsSkJVgskO7mKm4s" alt=""><figcaption><p>For more info on how the indexer works, read the <a href="https://filecoin.io/blog/posts/how-does-the-network-indexer-work/">Filecoin blog post</a>.</p></figcaption></figure>

## IPNI and storage providers

Storage providers publish data to indexers so that clients can find that data using the CID or multihash of the content. When a client queries the indexer using a CID or multihash, the indexer then responds to the client with the provider data record, which tells the client where and how the content can be retrieved.

As a storage provider, you will need to run an indexer in your setup so that your clients know where and how to retrieve data. For more information on how to create an index provider, see the [IPNI documentation](https://github.com/ipni/storetheindex/blob/main/doc/creating-an-index-provider.md).

[Was this page helpful?](https://airtable.com/apppq4inOe4gmSSlk/pagoZHC2i1iqgphgl/form?prefill_Page+URL=https://docs.filecoin.io/storage-providers/architecture/network-indexer)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.filecoin.io/storage-providers/architecture/network-indexer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
