Find your competitors' customers

List the companies that buy from your competitors, each with the public page that shows it. A step-by-step API recipe with code you can run today.

Three competitor cards, each with lines to small customer cards that have a check mark

A company that already buys from a competitor knows the problem you solve. It has a budget for it, and it has a person who owns it. This makes it a strong account to contact.

The hard part is the list. A competitor’s customers are named across hundreds of public pages. This guide gets that list from the API in four calls you can run from a terminal. Each account comes with the public page that shows it, so your team can check it before they write.

What you need

  • An API key. Get one free; the trial credits are enough for a first list.
  • curl and jq in a terminal.
  • Your own company domain, or a list of the competitors you already know.

Set the key once:

export INNERFETCH_API_KEY="<your API key>"

Step 1: list your competitors

Ask for the competitors of your own domain. Keep the rows with the basis evidenced: these are the companies that a public page compares with you.

you=helpscout.com

curl -sG https://api.innerfetch.com/api/v1/company/competitors \
  -d domain="$you" -d limit=10 \
  -H "X-API-Key: $INNERFETCH_API_KEY" |
  jq -r '.competitors[] | select(.basis == "evidenced") | .domain' >competitors.txt

You know your market. Open competitors.txt, remove a name you do not compete with, and add one that is missing. One domain on each line.

Step 2: get the customers of each competitor

Ask for the customers of each competitor. Each row has the customer’s name and domain, and the URL of the page that names it.

while read -r rival; do
  curl -sG https://api.innerfetch.com/api/v1/company/customers \
    -d domain="$rival" -d max_results=100 \
    -H "X-API-Key: $INNERFETCH_API_KEY" |
    jq -c --arg rival "$rival" '.customers[]? | {domain, name, rival: $rival, proof: .evidence.url}'
done <competitors.txt >rows.jsonl

You pay for each row that comes back, so max_results is also your cost limit. Start low, then get the next page with cursor when a list is good.

Step 3: merge and rank

One company can buy from two of your competitors, or it can change tools. Merge the rows by domain. Put the accounts that use more than one competitor first.

jq -s 'group_by(.domain)
  | map({domain: .[0].domain, name: .[0].name, rivals: map(.rival), proof: map(.proof)})
  | sort_by(-(.rivals | length))' rows.jsonl >targets.json

Step 4: add a profile and filter

Add industry and country to each account, then keep the ones that fit your ideal customer. The batch call takes up to 50 domains at a time.

jq -c '[.[].domain] | range(0; length; 50) as $i | {domains: .[$i:$i + 50]}' targets.json |
  while read -r body; do
    curl -s https://api.innerfetch.com/api/v1/company/batch \
      -H "Content-Type: application/json" \
      -H "X-API-Key: $INNERFETCH_API_KEY" \
      -d "$body"
  done |
  jq -c '.results[] | select(.status == "found") | .data
    | {domain, name, industry, country: .headquarters.country}' >profiles.jsonl

A company we have not seen before comes back as queued and costs nothing. Run this step again later to add it. Some fields, such as headcount, are not known for every company, so filter on the fields that are filled for your list.

Step 5: use the proof in your first message

Each account has a proof URL: the competitor’s own page about that customer. Read it before you write. It tells you which team uses the product and what they wanted from it. A first line that names that story is more useful than a general opener, and it is true.

A test run

We ran these steps for helpscout.com on 26 October 2026. Step 1 returned 10 competitors that a public page compares with Help Scout. Step 2 returned 126 different accounts from their customer pages, each with its proof URL. Your numbers will change: the competitors you keep change them, and we add companies every day.

Next steps

What it costs

See full pricing

APIs this guide uses

Competitors API

Get the companies a business competes with, and the reason each one is on the list.

Customers API

Find out who buys from a company. Each customer and partner comes with the public page that names it.

Company enrichment API

Send a domain. Get the company profile your CRM, agent or sales team needs, in one JSON answer.

Find your competitors' customers, answered

Where does the customer list come from?

From public pages that name the relationship. Each row has the link, so you can open the page and check it.

What if a competitor shows no customers?

Some companies do not publish their customers. The call then returns an empty list. Keep the competitors that return rows, or add more competitors with a higher limit.

Do I pay for a competitor that we have not seen before?

No. A company we have not seen before answers 202 at no cost while we fetch it. Run the same step again a little later to get its customers.

Can an AI agent do this for me?

Yes. Connect the MCP server and ask for your competitors' customers. Our guide on company data for AI agents shows a prompt that works.

Run it on your own market

Start with 200 free credits. Sign up with a work e-mail.