Concept · Intermediate
Building a web-scale face index
A face search engine is only as good as its index: the set of faces it has crawled, embedded and stored for lookup. This entry covers how crawlers decide what to fetch, how billions of embeddings are stored for fast nearest-neighbour search, why the index is always out of date, and the policy and legal choices (robots rules, opt-outs, what counts as public) that shape what any engine can find.
Updated November 6, 2026 · 4 min read · reviewed November 6, 2026
Users judge a face search by what it finds, and what it finds is decided before they upload anything. The index is the engine's memory of the web: every face it has seen, where it saw it, and the embedding it computed. Building and maintaining that memory is the expensive part of running an engine.
What does the crawler fetch?
A crawler starts from seed URLs and follows links, fetching pages and the images they reference, the same way a text search engine does. Engines differ in scope. PimEyes states that it excludes social media and video platforms; FaceCheck.ID emphasises public social profiles and news; Search4Faces covers specific social networks only. Most honour robots.txt and skip pages that require a login, which is what public web means in practice: pages that any visitor can open without an account.
- Step 1
Seed and discover
Start from known sites and sitemaps; follow links; prioritise pages likely to carry photos of people.
- Step 2
Fetch and filter
Download pages and images; drop icons, logos and images below a size threshold.
- Step 3
Detect and embed
Run detection on every image; compute an embedding for every face above the quality bar.
- Step 4
Store
Write embedding, image URL, page URL, crawl date and a thumbnail reference to the index.
- Step 5
Recrawl
Revisit pages on a schedule; mark removed images; apply opt-out block lists.
How are billions of embeddings searched in milliseconds?
Exact nearest-neighbour search compares the query with every stored vector; at a billion 512-dimensional vectors that is far too slow per query. Engines use approximate nearest-neighbour (ANN) structures. Graph-based methods such as HNSW build a navigable graph over the vectors and walk it greedily towards the query. Quantisation methods (IVF-PQ and relatives) cluster the space and compress each vector so that millions of comparisons fit in memory. Both return most of the true nearest neighbours most of the time, with a tunable recall, which is why a face can be found one day and missed the next after the index is rebuilt.
| Choice | Option A | Option B | What the user notices |
|---|---|---|---|
| Scope | Whole public web | Selected site types | Breadth of sources versus relevance |
| Recrawl interval | Days | Months | How quickly new or removed photos appear or vanish |
| Quality bar | Low (small faces kept) | High (only clear faces) | More matches with more noise, or fewer cleaner matches |
| ANN recall | High (slower, costlier) | Lower (faster) | Stability of results between searches |
| Deep pass | One index | A second, larger pass | Some engines sell a slower search over a bigger index |
Why is the index always out of date?
The web changes faster than any crawler can revisit it. A page crawled in March and deleted in April still has its faces in the index until the recrawl, so results point at dead links. A photo posted yesterday is absent until the crawler reaches it. Engines that advertise a deep search are usually querying a second, larger or older partition of the index that is too slow to search by default. None of this is visible in the result count, which is why a count says little.
What leaves the index?
Three mechanisms remove faces. Recrawls drop images that are gone from their source page. Site-level exclusions remove whole domains that opt out or block the crawler. Person-level opt-outs block a specific face: the engine stores an embedding of the requester and suppresses results that match it. The last mechanism means the engine keeps a record of the very face it has promised not to show, a point regulators have raised in the PimEyes and Clearview proceedings.
How large are the indexes?
- 30bn+
- Images Clearview AI reported in its database, 2024 (Dutch DPA decision)
- Not published
- Index size of most consumer engines
- Days to months
- Typical recrawl interval, inferred from dead-link rates
Autoriteit Persoonsgegevens, 3 September 2024
Engine websites, checked November 2026
Observation; no engine publishes a schedule
Clearview is the exception that publishes a figure because regulators forced it into the record. Consumer engines describe their coverage in words ('billions of images', 'the public web') rather than numbers. Treat any size claim as marketing unless it comes from a regulator's decision or a court filing.
Why is scale itself a legal question?
Crawling public pages for text has decades of settled practice. Crawling them to build a biometric database of people who never consented is what the Clearview decisions in the Netherlands, France, Italy, the UK and Australia turned on, and what the EU AI Act now prohibits outright for untargeted scraping of facial images. The index is the product, and the index is the thing the law examines.
Questions
Does a face search engine crawl Instagram?
Only what is reachable without logging in, and many engines state that they skip social platforms entirely. Public profile pages that are indexable by Google are the usual edge case.
If I delete a photo, when does it leave the index?
At the next recrawl of that page, which can take weeks or months. An opt-out request removes it faster.
What is a deep search?
A search over a larger, slower part of the index, sold separately by some engines. It can find more because it looks at more, not because the model is better.
Can an engine index faces from PDFs or documents?
If the crawler fetches the file and extracts images, yes. Most consumer engines focus on HTML pages.
Sources
- 1.Malkov and Yashunin, Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs (2016) (checked August 14, 2018)
- 2.Johnson, Douze, Jegou, Billion-scale similarity search with GPUs (2017) (checked February 28, 2017)
- 3.Autoriteit Persoonsgegevens, Dutch DPA imposes a fine on Clearview because of illegal data collection for facial recognition (3 September 2024) (checked September 3, 2024)
Entry reviewed November 6, 2026. Found an error? Tell us.
Related entries
- Concept How a face search works The face search pipeline step by step: detection, alignment, embedding, index lookup, ranking and source pages, with the limits at each stage.
- Concept Opt-outs, removal, and the limits of both Opting out of a face search engine, de-listing from Google and removing a photo from its host: the legal bases, routes, timelines and limits of each.
- Term Index (face search) Index defined for face search: the stored set of face embeddings and source URLs built from crawled public pages, how it is refreshed, and why its scope matters.
- Term Crawler Crawler defined: the program that fetches public web pages and images for indexing, how robots rules and logins limit it, and what that means for coverage.
- Term Public web Public web defined: the pages anyone can load without a login, the only part of the internet a face search engine can index, and what falls outside it.
- Law EU Artificial Intelligence Act and the ban on scraping faces EU AI Act Article 5(1)(e): the ban on untargeted scraping of facial images for recognition databases, in force since February 2025, fines up to 7% of turnover.
Cite this entry
FaceSearch Wiki editors. "Building a web-scale face index". FaceSearch Wiki, updated November 6, 2026. https://facesearch.wiki/concepts/building-a-web-scale-face-index/