Launch HN: Exa (YC S21) – The web as a database
We started working on Exa because we were frustrated that while LLM state-of-the-art is advancing every week, Google has gotten worse over time. The Internet used to feel like a magical information portal, but it doesn’t feel that way anymore when you’re constantly being pushed towards SEO-optimized clickbait.
Websets is a step in the opposite direction. For every search, we perform dozens of embedding searches over Exa’s vector database of the web to find good search candidates, then we run agentic workflows on each result to verify they match exactly what you asked for.
Websets results are good for two reasons. First, we train custom embedding models for our main search algorithm, instead of typical keyword matching search algorithms. Our embeddings models are trained specifically to return exactly the type of entity you ask for. In practice, that means if you search “startups working in nanotech”, keyword-based search engines return listicles about nanotech startups, because these listicles match the keywords in the query. In contrast, our embedding models return actual startup homepages, because these startup homepages match the meaning of the query.
The second is that LLMs provide the last-mile intelligence needed to verify every result. Each result and piece of data is backed with supporting references that we used to validate that the result is actually a match for your search criteria. That’s why Websets can take minutes or even hours to run, depending on your query and how many results you ask for. For valuable search queries, we think this is worth it.
Also notably, Websets are tables, not lists. You can add “enrichment” columns to find more information about each result, like “# of employees” or “does author have blog?”, and the cells asynchronously load in. This table format hopefully makes the web feel more like a database.
A few examples of searches that work with Websets:
- “Math blogs created by teachers from outside the US”: https://websets.exa.ai/cma1oz9xf007sis0ipzxgbamn
- "research paper about ways to avoid the O(n^2) attention problem in transformers, where one of the first author's first name starts with "A","B", "S", or "T", and it was written between 2018 and 2022”: https://websets.exa.ai/cm7dpml8c001ylnymum4sp11h
- “US based healthcare companies, with over 100 employees and a technical founder": https://websets.exa.ai/cm6lc0dlk004ilecmzej76qx2
- “all software engineers in the Bay Area, with experience in startups, who know Rust and have published technical content before”: https://youtu.be/knjrlm1aibQ
You can try it at https://websets.exa.ai/ and API docs are at https://docs.exa.ai/websets. We’d love to hear your feedback!
Congrats on your launch. With the natural way this lends itself to comparison shopping this is an amazing tool for people trying to find "the best X for me" whether that's a TV, a school, etc. So much content that you find on Google when trying to answer that type of query, is designed to trick, bamboozle, and to hide the facts that you might use to answer this question (but most of all to get you to click affiliate links).
The initial search/experience is good but then I got dumped here [0] and it's not clear to me if things are still happening or if it broke (it's been at least 5 min with no UI updates.
I can't see the full results yet but this is very interesting and a task I ask OpenAI's Deep Research to attempt periodically. It makes a good show of doing the work but the results are not great IMHO (for asking it generate lists/tables of data like this). I can see this tool being incredibly useful for lead generation (how I am testing it out).
[0] https://cs.joshstrange.com/dySqK1mb
Types of searches Websets doesn't currently do well at: - products (e.g., ecommerce sites) - Content that requires authentication/permissions to access - non-English content
Some of the above are on our roadmap, and let us know if there's some type of data you'd like us to support!
"Give me a list of free imagery service endpoints I can use in a maplibre style sheet. Include information such as name, description, service endpoint, service type, extent (global/regional)."
Since you were part of YC 21, could you share a bit about your pivots/product iterations you went through over the last 4 years?
- 2022: Consumer-facing embeddings search (back when we were known as Metaphor)
- 2023: Web search for AIs - once the AI ecosystem heated up, we made a business out of web search + crawling API. This is still our primary business.
- Now: Websets, a useful product built on top of our search tech
If you're curious, our company right now is fully devoted to:
1. Dramatically improving Websets quality
2. Building the best general search engine in the world
Do you have any built-in features that address these issues?
How do you dedupe entities, like companies and people? I've noticed ChatGPT tends to provide "great" results when asking about different entities, but in reality it just groups similar sounding entities together in its answer.
For example, I asked ChatGPT about a well known startup. It gave me a confident answer about how much they raised, their current status, etc. When looking at the 3 sources they cited though, it was actually 3 different companies that all had similar sounding names that it just grouped together to form its answer.
Basically, how do I trust the output of your system?
https://imgur.com/dsGK5dS
My question is how you can confirm the entity you're referencing in each source is actually the entity you're looking for?
An example I ran into recently is Vast (https://www.vastspace.com/). There are a number of other notable startups named Vast (https://vast.ai/, https://www.vastdata.com/).
I understand Clay, which your Websets product is clearly inspired by, does a fair amount of matching based on domain name or LinkedIn url.
If Websets is doing fuzzy or naive matching, that's okay. I'm just trying to understand the limitations and potential uses cases of your current system.
As far as I know ChatGPT’s search is primarily a wrapper around another company’s search engine, which is why it often feels like it’s just summarizing a page of search results and sometimes hallucinates badly.
Looking forward to trying out the product more when I have a moment.
Our experimental use case is enabling quick and dirty integration of web-based docs into an employee service agentic chatbot - lots of the questions are around “how do I max out my 401k”, which connects to internal information, but some are more like “how do I link a calendar to calendly”.
The one thing I’d love to have in the search product is a cruft cleaner for the results of web queries. Where you have cached the data presumably this wouldn’t add much overhead. Reduces what you have to feed to the LLM downstream and might improve the embeddings performance.
If something else though, curious.
I searched for "alternatives to jq with a functional API" and one of the criteria it came up with was "Provides technical details or comparisons relevant to the alternatives" but the table only listed the repo's url and description. And the description was truncated with ellipses with no way for me to resize the columns. Also, it missed the opportunity to tell me that some shells can replicate jq's functionality. Finally, it would have to be faster to be a daily driver. At this speed, it is something I would reserve for backup, for when the workhorse fails. Which means I would not want to pay $49/month.
Hope that helps. Interesting idea.
Yeah we'd love to make the product as accessible and cheap as possible, but as of state of AI costs of 2025, it's a very expensive product to run and so we have it login gated. If you're willing to log in though, you'll find a lot of the features that you're mentioning :)
If you sign in each result will be graded by an LLM, supporting references will be found, you can get agents to add arbitrary data to each result, and the table UI is much better.
Understand if you don’t want to sign up, I’d just look at the examples linked in the OP in that case
Normally I'd send this as a DM or email, but I think it could be useful for others to learn about how to use your service/the limitations of it. A couple weeks ago I made a search for:
Unfortunately it wasn't able to find it, but it was either in a tweet or a really long presentation, neither of which are good targets for search. It was around the same time that this (https://www.youtube.com/watch?v=c3b-JASoPi0) video was posted, like within a couple weeks before or after. How could I have improved my query? Does exa work over videos?> TLDR LLM training runs are significant stress-tests of an overall fault tolerance of a large computing system acting as a biological entity.
https://x.com/karpathy/status/1765424847705047247
And also how “internal” business intelligence/operations tools should work. search first to find relevant artifacts - “top 10 customers in AMEA”, followed by agentic verification and enrichment.
Congrats on the launch!
Can it perform searches that rely on the rendered (JS-executed) state of the website? If so, does it have access to the DOM?
Example use case: "The 10 most trafficked e-commerce sites that load Adobe Analytics tag(s)."
Noting this though!
Mission of Exa has always been to build much better web search. The evolution has been:
- 2022: Consumer-facing embeddings search (back when we were known as Metaphor)
- 2023: Web search for AIs - once the AI ecosystem heated up, we made a business out of web search + crawling API. This is still our primary business.
- Now: Websets, a useful product built on top of our search tech
If you're curious, our company right now is fully devoted to:
1. Dramatically improving Websets quality
2. Building the best general search engine in the world
some issues I noticed, I searched "lucid air touring models available for sale Under 20,000 miles" and tried to add column "sale price", but did get the price details, same for other cars as well
I think NewsCatcher (my YC startup) and Exa aren’t direct competitors but we definitely share the same insight — SERP is not the right way to let LLM interact with web. Because it’s literally optimized for humans who can open 10 pages at most.
What we found is that LLMs can sift through 10k+ web pages if you pre-extract all the signals out of it.
But we took a bit of a different angle. Even though we have over 1.5 billion of news stories only in our index we don’t have a solution to sift through as your Websets do (saw your impressive GPU cluster :))
So what we do instead is we do bespoke pipelines for our customers (who are mostly large enterprise/F1000). So we fine-tune LLMs on specific information extraction with very high accuracy.
Our insight: for many enterprises the solution should be either a perfect fit or nothing. And that’s where they’re ok to pay 10-100x for the last mile effort.
P.S. Will, loved your comment on a podcast where you said Exa can be used to find a dating partner.
I gave it a try and my first search got one match, 14 misses, and all other results are "Verifying..." but it seems stuck (it's been minutes). I can see why you cut your demo (please don't try to hide that it's so slow, especially since you seem to imply to be a Google competitor ("Google has gotten worse over time"), while your product is incomparably slower than Google; it's more like deep research).
Exa was originally just a search engine. They try to hide it these days to promote Websets, but you can still use it at https://exa.ai/search.
I joined recently, and live-streamed myself designing and shipping the new search frontend in 5h32m
https://x.com/LiamHinzman/status/1911244983291514941
Added a link to it on our homepage, thanks for pointing that out!
---
> I can see why you cut your demo.
Can you please edit out swipes, as the site guidelines request (https://news.ycombinator.com/newsguidelines.html)? Your comment would be just fine without that bit.
Everyone is familiar with how often software launches run into glitches, and there's no need to be uncharitable.
(If you didn't mean it as a swipe and I just misread you, feel free to edit your comment and I'll delete this when I'm back online.)
Edit: adding "no offense" doesn't change this.
However, I don't think it's fair for you to assume they're "trying to hide that it's so slow". There's no need to impute bad motives to people, and you don't have nearly enough information to justify such a claim.
What's wrong with simply reporting the problem that you're experiencing with the software? That would make your comment helpful, with no trace of a putdown.