What this doc covers
- Using Exa’s link similarity search to find related links
- Using Exa search_and_contents to find additional company information
In this example, we’ll build a company analyst tool that researches companies relevant to what you’re interested in. If you just want to see the code, check out the Colab notebook. The code requires an Exa API key and an OpenAI API key. Get 1000 free Exa searches per month just for signing up!
Shortcomings of Traditional Search
Say we want to find companies similar to Thrifthouse, a platform for selling secondhand goods on college campuses. Unfortunately, traditional search engines don’t do a very good job with this type of query. Traditional search engines rely heavily on exact matching. In this case we get results about physical thrift stores. Hm, that’s not really what I want. Let’s try again, this time searching based on a description of the company, like “community based resale apps.” But, this isn’t very helpful either and just returns premade SEO-optimized listicles…
What is neural search?
Exa is a fully neural search engine built using a foundational embeddings model trained for webpage retrieval. It’s capable of understanding entity types (company, blog post, Github repo), descriptors (funny, scholastic, authoritative), and any other semantic qualities inside of a query. Neural search can be far more useful than traditional searches for these complex queries.Finding companies with Exa link similarity search
Let’s try Exa, using the Python SDK! We can use thefind_similar_and_contents function to find similar links and get contents from each link. The input is simply a URL, https://thrift.house and we set num_results=10(this is customizable up to thousands of results in Exa).
By specifying highlights={"num_sentences":2} for each search result, Exa will also identify and return a two sentence excerpt from the content that’s relevant to our query. This will allow us to quickly understand each website that we find.
Python
Python
- College Marketplace:https://www.rumieapp.com/
category="company" in the SDK will search across a curated, larger companies dataset - if you’re interested in this, let us know at hello@exa.ai!
Now that we have 10 companies we want to dig into further, let’s do some research on each of these companies.
Finding additional info for each company
Now let’s get more information by finding additional webpages about each company. To do this, we’re going to search for each company’s URL. We can do this with thesearch_and_contents function, and specify num_results=5. This will give me 5 websites about each company.
Python
Creating a report with LLMs
Finally, let’s create a summarized report that lists our 10 companies and gives us an easily digestible summary of each company. We can input all of this web content into an LLM and have it generate a nice report!python
- Discover similar startups
- Find information about each of those startups
- Gather useful content and summarize it with OpenAI

