Columns launched on Product Hunt on October 1. Templates, CSV export and usage-based billing are live.

SheetsTemplatesUsagePricing
Blog

How to Remove Irrelevant Companies From an Apollo Export

Updated October 12, 2026

Filter inside Apollo first, then clean what is left after export. Dedupe by website domain, add one yes or no column per exclusion rule, delete the rows that are a confident "no", and send the low-confidence rows to a human. By the end you will have a fixed order of work and a budget you can calculate before you spend anything.

Filter before you export, not after

Every row you delete for free inside Apollo is a row you never have to judge later. Apollo's help center says to select only the accounts you want on the Companies page and export those, in its guide to exporting accounts to a CSV. Third-party reviews give the same advice: filter to the right title, headcount and industry before you enrich.

So the rule is simple. When you can describe the problem with an Apollo filter (industry, headcount, location, keyword), use the filter. Do not pay to clean what a dropdown would have removed.

Keep four columns in the export: company name, website, industry and description. The last two give the next steps something to read.

What filters cannot catch is a judgment

A filter sorts on fields. It cannot tell you what a company actually does. A staffing firm and a software company can both sit under the same industry label. An agency can have a product-sounding name. A "B2B software company" filter will happily return a consultancy that mentions software on its homepage.

That is the part you cannot filter: "Does this company sell software to other businesses?" is a judgment, and it needs a column that reads the company, not a field that labels it.

Dedupe by domain before you ask any question

Apollo lists often hold the same company several times: branches, regional offices, a parent and a subsidiary. If you judge all of them, you pay for the same answer repeatedly and you end up contacting one company more than once. The Clay community has a thread on importing an Apollo companies list and filtering it where the options include removing branches and keeping only main entities. You can do the same in a plain spreadsheet.

Put the website column in A, starting at row 2, and paste this into a helper column. It is a common Google Sheets pattern for pulling a domain out of a URL:

=REGEXEXTRACT(A2, "^(?:https?://)?(?:www\\.)?([^:/]+)")

It strips the http or https prefix and a leading "www." and returns the domain. To fill the whole column from one cell, wrap it:

=ARRAYFORMULA(IFERROR(REGEXEXTRACT(A2:A, "^(?:https?://)?(?:www\\.)?([^:/]+)"), ""))

Then:

  1. Copy the helper column and paste it back as values only. Otherwise the formulas shift when rows move.
  2. Sort by the helper column so rows for the same company sit together.
  3. Run Data, Data cleanup, Remove duplicates, and tick only the domain column. Removing duplicate domains with the built-in Data menu tool is the standard way to finish the job.
  4. Before you confirm, keep the row with the most complete fields for each domain.

Two traps. If you remove duplicates across all columns, rows that differ in one field (a phone number, a city) survive and the same company gets judged twice. And blank website cells all look like duplicates of each other, so filter them out first and handle them by company name.

The formula also keeps subdomains and different country endings, so a few branches can survive. Skim the sorted domain column for near matches before you upload.

One yes or no question per exclusion rule

Now upload the cleaned CSV to Columns and write each exclusion rule as a plain-English column header. One concrete question per column. "Is this a good fit?" gives answers you cannot act on. "Does this company sell a software product to other businesses? Answer yes or no." does.

Example column header and results (illustrative rows, not real companies):

CompanyDoes this company sell a software product to other businesses? Answer yes or no.Confidence
acme-analytics.exampleyeshigh
northside-consulting.examplenohigh
bluepeak-group.examplenolow

Read the answer and the confidence together. Acme stays. Northside is a confident "no", so it goes. Bluepeak is a "no" the model is unsure about, so a person looks at it. That third row is the whole point: every answer in Columns carries a confidence number, so you review the rows that need a look instead of trusting everything or checking everything.

A good first set of questions for a software list:

  • Does this company sell a software product to other businesses?
  • Is this company a staffing or recruiting agency?
  • Is this company a competitor of a lead-gen agency?

For help wording these so the answers are usable, see which yes or no questions AI can answer about a company website.

Run the type question first, ICP questions second

If the list mixes product companies and service companies, an industry filter cannot separate them. So the order matters:

  1. Run the type question ("sells software to businesses") on the deduped list.
  2. Delete the confident "no" rows.
  3. Hand review the low-confidence rows.
  4. Run the ICP questions only on what is left.

This way you spend your later questions on a smaller list. Treating "unsure" as "no" is the expensive mistake here: it throws away companies a human would have kept.

Budget the job before you run it

The formula is short:

Row-questions = unique domains x number of yes or no columns

Example: say you exported 5,000 rows and the domain dedupe left 4,200. You ask 2 questions. That is 4,200 x 2 = 8,400 row-questions. The free plan includes 500 row-questions with no card, Starter is $29/month for 25,000, and Pro is $99/month for 150,000. Cached answers are not billed again, so re-running a column you already asked does not cost you twice.

So the example job fits inside one month of Starter. And the free plan covers a 500 row sample, which is enough to test your questions before you commit the full list.

Now the human cost. Hand review load is the number of rows times the share under your confidence cutoff. Say 10% of the 4,200 rows fall under it: that is 420 rows to read instead of 4,200. Do not guess the cutoff. Read about 50 rows around the boundary and find where the answers start to disagree with your own call. That is your cutoff. For how to review those rows, see how to know which AI answers in your spreadsheet are wrong.

The Apollo export cleanup order

Copy this and tick it off:

  • Apply every Apollo filter you can (industry, headcount, location, keywords) and export only the accounts you want.
  • Keep company name, website, industry and description in the CSV.
  • Extract the domain, paste as values, remove duplicates on the domain column only.
  • Upload to Columns and add one yes or no column per exclusion rule.
  • Delete rows that are a confident "no" on your keep question.
  • Sort low-confidence rows to the top, review them by hand, export the cleaned CSV to your outreach tool.

Mistakes that cost you rows or money

MistakeWhat it costs
Cleaning after export what a filter would have caughtRow-questions spent on rows that never needed them
Judging the raw export without dedupingThe same company judged and contacted several times
Deleting every "no" without checking confidenceGood companies removed because the model was unsure
Vague questions like "Is this a good fit?"Answers you cannot act on
Trusting every answerWrong rows in your outreach. Answers are not always right, which is why the confidence column exists

If your list has no industry column at all, start with filtering a lead list by ICP fit when there is no industry column.

Do this in the next ten minutes

Open your latest Apollo export and put the website column through the domain formula above. Count the unique domains. Multiply by the number of questions you would ask. If it is under 500, the whole job fits in the free plan.

Try it on your own list

You get 500 row-questions free, with no card, which is enough to test one or two questions on a real sample of your export and see the confidence column on your own data. Start free, no card

Frequently asked questions

Can I remove companies after I have already exported from Apollo?
Yes. Open the CSV, dedupe on the website domain, then add yes or no judgment columns and delete the rows that are a confident "no". Review the low-confidence rows by hand instead of deleting them.
How do I remove branches and keep only the main company?
Extract the domain from the website column, sort by it, and remove duplicates on that column only. Keep the row with the most complete fields. Check for subdomains and country endings, which the simple formula leaves in place.
How do I filter out agencies and consultants from a software list?
An industry filter often cannot separate them, so add a column such as "Does this company sell a software product to other businesses? Answer yes or no." Drop the confident "no" rows and review the low-confidence ones.
How many row-questions will an Apollo cleanup use?
Unique domains times the number of yes or no columns. For example, 4,200 unique domains and 2 questions is 8,400 row-questions. Cached answers are not billed again.
Should I delete every row the AI answers "no" for?
No. Delete the ones that are a confident "no". A "no" with low confidence is a row for a human to check, because treating unsure as no throws away companies you may want.
Can Columns test this on my list before I pay?
Yes. The free plan includes 500 row-questions with no card, so you can run your questions on a sample of your own export first.

Columns

Ask a question as a column header.

Upload a CSV and every row answers, with a confidence number so you know which few to check. 500 row-questions free, no card.