Find similar companies
Start with a company and retrieve ranked similarity matches.
Before you begin
This example was verified with Predictions and Insights access. Your API key must include the fields and collections requested below. Check your API package if an endpoint or field is unavailable. Complete your first API request to set CRUNCHBASE_API_KEY in bash or zsh. Commands below include response headers; look for HTTP 200, then read the JSON body.
Persona: Go-to-market teams
Use case: Find similar companies
Primary APIs: Organization Search and Organization Similarity Search
About Crunchbase Competitors
Crunchbase Competitors endpoint (org_similarity in the API) identifies a company's closest competitors and explains the signals behind each competitive relationship.
Unlike traditional competitor lists, Crunchbase Competitors combines proprietary company intelligence, products and services data, LLM-driven classification, and model evaluation to generate ranked competitor relationships and explain why companies compete.
- Competitive Score - How closely the two organizations resemble one another
- Category_overlap - The shared industries the two companies operate in
- Location_overlap - Shared geography, down to the region level (city, region, country)
- Product_similarities - Overlapping products that make the two companies compete
- Additional_reasons - which identifies overlap in global markets
Together, these signals help GTM teams understand not only who a company competes with, but why they compete.
Step 1
Find Your Source Company’s UUID
Retrieve the UUID for an existing customer, recently closed opportunity, or target account. This UUID will be used to identify similar organizations in the next step.
Endpoint
POST https://api.crunchbase.com/v4/data/searches/organizations
API Reference & Documentation
Key Fields for this Query:
| field_id | What this field does | operator_id (these are the compatible operators per field) |
|---|---|---|
| uuid | Crunchbase’s Unique Identifier (this is what’s being returned) | blank;eq;includes;not_eq;not_includes |
| website_url | Use this field_id to search for your source company by its domain/website. (this is will go into your query) | domain_blank;domain_eq;domain_includes;not_domain_eq;not_domain_includes |
Resolve the source company
Run this request to resolve the source company:
curl --include --request POST \
--url 'https://api.crunchbase.com/v4/data/searches/organizations' \
--header "X-cb-user-key: $CRUNCHBASE_API_KEY" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"field_ids": [
"identifier",
"website_url"
],
"query": [
{
"field_id": "website_url",
"operator_id": "domain_eq",
"type": "predicate",
"values": [
"writer.com"
]
}
],
"limit": 3
}'Inspect the matches and select the intended company. Copy its organization UUID into the source predicate in the following step; do not substitute a display name.
Step 2
Find competitors for the source company
Endpoint
POST https://api.crunchbase.com/v4/data/searches/org_similarities
Search Organization Similarities
Sample Query
We are going to use the UUID for Writer (a3674669-6d9e-4f70-895f-3c8c99bcb7ad), and we want to find the companies that compete with them so we can sell into those adjacent accounts next. Now that we have the fields defined, here is a sample query we can run:
curl --include --request POST \
--url 'https://api.crunchbase.com/v4/data/searches/org_similarities' \
--header "X-cb-user-key: $CRUNCHBASE_API_KEY" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"field_ids": [
"source",
"target",
"score",
"category_overlap",
"location_overlap",
"product_similarities",
"additional_reasons"
],
"query": [
{
"operator_id": "includes",
"type": "predicate",
"field_id": "source",
"values": [
"a3674669-6d9e-4f70-895f-3c8c99bcb7ad"
]
}
],
"order": [
{
"sort": "desc",
"field_id": "score"
}
],
"limit": 3
}'Response
Response examples below are historical, shortened JSON samples; search samples show one entity and card samples show at most one record per card. Other fields or records may be omitted. Counts and values change; count is the total matching records, while entities contains the returned page.
The response returns a list of organizations that compete with the target company, Writer — providing underlying reasons why and the score of how competitive (or in this case, similar as you find adjacent opportunities) to identify net-new prospect accounts and prioritize outreach based on shared products, markets, and business characteristics.
The response below illustrates the competitor matches returned for Writer.
{
"count": 12,
"entities": [
{
"uuid": "5e81b73c-5e05-4e35-bcba-6fb601aeff14",
"properties": {
"category_overlap": [
{
"permalink": "foundational-ai",
"image_id": "fd41cd7328c54618aeda4f9e3f0d45ef",
"uuid": "35c06bd3-3e46-44d3-a205-e16c45c40c4c",
"entity_def_id": "category",
"value": "Foundational AI"
},
{
"permalink": "agentic-ai-17fa",
"image_id": "b8046d3bdcdf4b3fad3ceeb7a860acb7",
"uuid": "400037b5-8546-4a2c-98e1-7e7a165957dd",
"entity_def_id": "category",
"value": "Agentic AI"
},
{
"permalink": "natural-language-processing",
"image_id": "81cfc38feb1a47878d8b160476c4144a",
"uuid": "789bbbef-c46e-1532-a68d-f17da87090ea",
"entity_def_id": "category",
"value": "Natural Language Processing"
},
{
"permalink": "generative-ai",
"image_id": "c1ecf22becf54352901f6583f1d7ad49",
"uuid": "8314a534-8f18-4ee0-869b-05bc6e46258e",
"entity_def_id": "category",
"value": "Generative AI"
},
{
"permalink": "artificial-intelligence",
"image_id": "930c72a5a7b544999596ac1c0dc8b549",
"uuid": "c4d8caf3-5fe7-359b-f9f2-2d708378e4ee",
"entity_def_id": "category",
"value": "Artificial Intelligence (AI)"
}
],
"source": {
"permalink": "writer",
"image_id": "jqgtyt2qclr1ikl5mpjv",
"uuid": "a3674669-6d9e-4f70-895f-3c8c99bcb7ad",
"entity_def_id": "organization",
"value": "Writer"
},
"identifier": {
"uuid": "5e81b73c-5e05-4e35-bcba-6fb601aeff14",
"entity_def_id": "org_similarity",
"value": "Writer competes with OpenAI"
},
"additional_reasons": [
"global_location_overlap"
],
"score": 100,
"product_similarities": [
{
"entity_def_id": "product_similarity",
"uuid": "b77db926-9fd0-4a5d-b0a8-37895215067b",
"value": "WRITER End-to-End Agent Builder Platform is similar to Responses API"
}
],
"location_overlap": [
{
"entity_def_id": "location",
"permalink": "california-united-states",
"uuid": "eb879a83-c91a-121e-0bb8-829782dbcf04",
"value": "California"
},
{
"entity_def_id": "location",
"permalink": "north-america",
"uuid": "b25caef9-a1b8-3a5d-6232-93b2dfb6a1d1",
"value": "North America"
},
{
"entity_def_id": "location",
"permalink": "united-states",
"uuid": "f110fca2-1055-99f6-996d-011c198b3928",
"value": "United States"
}
],
"target": {
"permalink": "openai",
"image_id": "jjykwqqhsscreywea4gb",
"uuid": "cf2c678c-b81a-80c3-10d1-9c5e76448e51",
"entity_def_id": "organization",
"value": "OpenAI"
}
}
}
]
}Outcome
Along with supporting signals when returned. Rather than returning a simple list of accounts, Crunchbase explains why each organization is considered a competitor through shared products, markets, categories, and geographic presence.
For GTM teams, this creates a scalable pipeline expansion workflow. Starting from a customer or recently closed opportunity, teams can identify net-new accounts that closely resemble proven wins, prioritize outreach using competitor signals, and build a qualified pool of prospects grounded in real competitive relationships rather than broad industry lists.
Check your result
The first request should identify your intended organization. In the similarity response, source.uuid should match that organization; use target.uuid to identify the peer company. A similarity record UUID identifies the relationship, not the peer. Inspect the returned overlap fields before treating a match as relevant.
Search requests here use limit: 3 for a small first page. For a complete result set, follow search pagination while preserving the filters and ordering. For request failures, use the shared request and retry guidance.
Updated about 11 hours ago

