Launch HN: Exa (YC S21) – The web as a database

412 points by willbryk ↗ HN
Hey HN! We’re Will and Jeff from Exa (https://exa.ai). We recently launched Exa Websets, an embeddings-powered search engine designed to return exactly what you’re asking for. You can get precise results for complex queries like “all startups working on open-source developer tools based in SF, founded 2021-2025”. Demo here - https://youtu.be/Unt8hJmCxd4

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!

136 comments

[ 2.4 ms ] story [ 339 ms ] thread
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)."

We render JS and then parse pages, but that process will definitely parse out Adobe Analytics tags unfortunately.

Noting this though!

This is super cool. You provide examples of “searches that work” - can you give an idea of the limitations here? What kind of searches won’t work?
We're a startup, so most of our resources go towards use cases that our users care most about. So the search should work best for - people, companies, papers, high quality written content (e.g., blogs, news). It should work well at more than just those (try Github repo search, it's quite good :D), but those are the best supported.

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!

Geospatial data would be great. This stuff is notoriously annoying to search for. For example:

"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)."

This might be possible if you specify geospatial location as an enriched column. The visualization of it as a map though is not supported in the UI, but can be built by giving an LLM access to the Websets API
> (try Github repo search, it's quite good :D)

Since you called it out, I gave it a whirl:

https://websets.exa.ai/api/trpc/getPreview?batch=1&input=%7B...

and it did nothing to the page at all, choosing to still show the "Full-stack engineers in SF that are great at design, and have worked at an AI startup" example table

I'm open to the fact that "I'm holding it wrong" or whatever, but the response payload included things that are clearly not GitHub Repositories

          {
            "id": "https://authzforce.ow2.org",
            "entityId": "https://authzforce.ow2.org",
            "properties": {
              "type": "custom",
              "description": "AuthzForce (Community Edition) - XWiki",
              "url": "https://authzforce.ow2.org",
and its .text contains no mention of ReBAC

later on it came closer

          {
            "id": "https://github.com/authzforce",
            "entityId": "https://github.com/authzforce",
            "properties": {
              "type": "custom",
              "description": "AuthzForce Community Edition",
              "url": "https://github.com/authzforce",
but, of course, no ReBAC in its .text either

It seems it is about 30/70 on finding the things I asked for, so I don't mean to imply it's worthless, but it is yet another example of "turns out, AI does not solve all problems"

---

I make a habit out of having the dev-tools open when interacting with things where the comments have explicitly called out "we were down and we don't check our response.statusCode" and that's the only reason I am able to offer you any feedback whatsoever

The API response you were looking at is the preview search, the full search linked below found 25 matches in a minute.

> github repos that are implementations of ReBAC authorization servers

https://websets.exa.ai/cmadcu6st004fmg0iofbytsfh

I don't know what "preview search" means, as I felt that I described that if I didn't have the dev tools open I wouldn't have "previewed" anything. I also didn't understand that one needed to put the search term "github repos" in the actual query

Anyway, two things which may interest you:

- please don't reimplement <table> in whatever whizbang JS framework-o-the-day; your results have the columns fixed at 180px, truncating all descriptions and URLs. Maybe it's an upsell for all I know

- your cURL in the Get Code is demonstrably wrong and I have no idea how it escaped a basic straight-face test; -d '{\"foo\":1}' literally sends brace backslash doublequote

And then, just like my first experience, the matches do not all return repos matching the query criteria. My colleague at work has to tell Cursor "try harder" so maybe you can benefit from including that in your prompt, too

Hey! Congrats on the launch. I just signed up for a trial account and I’m pretty impressed with the search API (haven’t used websets yet but looks cool).

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.

By cruft cleaner, do you mean cleaning the HTML well? Right now, we do 2 things to help with that, a pretty robust parsing stack as well as a "summaries" feature that returns an LLM-generated query-biased text output for every webpage returned.

If something else though, curious.

This is really cool! Just a small nitpick: on a low-powered device, the hero globe is really laggy (it's fine if I scroll past it, though).
And it doesn't work at all if you have WebGL disabled, just shows "Application error: a client-side exception has occurred (see the browser console for more information)."
Even with it working I initially thought it was trying to convey some meaning, but it's just a bunch of logos not really doing anything.
Thanks for letting us know - made a Linear ticket
Congratulations! great idea,

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

Hm! I'll try this out. Sometimes info like price are hard to parse out because the data may be on ecommerce-style websites that have many crawling protections
> We’d love to hear your feedback!

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).

Edit: the parent has edited their comment several times, which is fine since I invited them to, but the edits obscure the original comment, which was "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.".

---

> 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.)

What is a swipe?
A bit of gratuitous nastiness.

Edit: adding "no offense" doesn't change this.

Is it better now?
It's marginally better because it explains what you mean, and that at least eliminates other nasty interpretations.

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.

> while your product is incomparably slower than Google

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.

The Exa LinkedIn webset is something very innovative. Many current providers make it difficult if not against "Terms of Service" to build a product using their data. The irony is that they simply scraped LinkedIn.
Will, Jeff, I am a BIG Exa fan. Congrats on finally doing your HN Launch.

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.

Thanks Artem! That makes sense to specialize for the biggest customers. Yes, a lot of problems in the world would be improved by better search, including dating.
So the crawlers are feeding to database and also something is classifying the data stream and organizing the data and everything is open as a very large dataset. This is an interesting concept.
Yup exactly! And we expose this as a regular search API as well as in the Websets product.
I wish you all the best, exa is pretty much Perplexity done right. So nice!
Really cool direction. The embedding-first + agentic verification pipeline resonates, similar pattern worked well for us in the web interaction space.
Now that you've got some money in the bank, you should get a license for the serif on your website (font-family: RecklessTrial-Regular;).
Congrats on the launch! Given you were in YC S21, when AI was much more under the radar, did you recently pivot? I'm guessing it wasn't a 4 year road to launch.
Not a pivot - Websets is just a new product!

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

This looks really great.

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!

Thanks! Let us know how you find it :)
This is so cool! What are the top use cases you’re seeing rn? The semantic heavy search is something most sourcing platforms fail consistently on, especially around people search
I suggest caching and enabling the sharing of results. I am not signed in so I don't know if that is feature I am missing.

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.

Thanks for the feedback!

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 :)

Websets are cool - I remember that 2 decades ago there was a project in Google Labs that tried to return google search results as 'objects' x 'properties' but it never left their research sandbox (cannot remember project's name unfortunately).

Searches that give tabular results can be cheap if you already have structured datasets (extracted from crawled data), so LLM can simply convert the user's natural language query to SQL query (or SQL-like query) which can be cost-efficiently executed - say, with DuckDB. This approach can also give more correct results - as values in these structured datasets can be validated in the background, not as an individual 'deep research' task.

I understand that this is another kind of search service, however, this can be a way to offer free/cheap searches for users who don't need expensive individual research tasks.

Without signing in you’re only able to view the preview table, which is just Exa’s regular search.

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

I think it might be a good idea to give some kind of indication that work is being done in the background (or perhaps mine stalled out?).

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

We were down for a bit, sorry about that. Ran your search for you, and found 25 results in ~2 minutes.

“List of food festivals on the east coast specializing in small dishes or encourages sampling from multiple vendors. features more than 20 vendors”

https://websets.exa.ai/cmad3sonh001zhx0i1h7t692f

btw I like how you host screenshots on your personal website

This is super cool! It took a while, but did a great job of evaluating the results, and the airtable-like results UI feels great.

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).

Thanks for the support - we're getting hug of death though so please bear with us while we scale up!
I really love the concept here. Lots of utility. Going to play around with it tonight and see if it can work for some usecases.
Not to be confused with exa: https://github.com/ogham/exa
I hate name collisions and this sort of thing only reinforces my ire. It doesn't help that I'm already team anti-AI, but it would annoy me regardless of the tech. Why don't people even bother to look and be original? (I feel like I'm going "against the ideals of the site" when I get angry like this, but come on, people, it's a simple google search. If you can't be arsed to do that, why should we even give you money - would be my FIRST question as an investor, but I'm just an idiot not a world famous inventor of a non-released LISP and checks list - uh. Yahoo Storefront.

Still though, come on man, why people why. I remember when we had "domainsquatting" but I guess AI doesn't give a fuck about people's copyrights/trademarks anyway.

(Sorry to vent as a reply, but it was nice to see SOMEONE mention it at least, and had to give a hard agree on pointing it out).

(ugh, while my point stands I guess technically it's a dead project, so I got egg on my face, gloat everyone gloat at the pathetic clown :P)
How big do you think your index is compared to Google?
A smaller index could actually be a benefit if it's missing all the "mailing list archives rehosted with more ads" sites that pollute my Google search results in recent years.