Pre-Black Friday: 20% off, for as long as you stayEARLYBFon Solo and AgencyEnds Nov 28Start free

How-to guide

How to Find an Angel Investor's Email Address (2026)

Look the address up instead of guessing it. Four steps take you from a title filter to an angel investor email with a deliverability status.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

The fastest way to find an angel investor's email is to look it up in a contact database, not to guess it. Search by title, enrich the person, then read the email status before you send. This guide does that against LeadOcean with curl and spends 2 records.

Examples use placeholders (Acme, acme.com, Jane Doe). Swap in your own filters.

TL;DR

  • Angel investor emails come from three places: a database lookup, a pattern guess at a fund or firm domain, or the investor's own site and profiles. Only the first gives you a deliverability status.
  • Search by title, enrich with reveal_email, and send only to verified or catch_all_valid addresses.
  • Takes about 10 minutes and spends 2 of the 1,000 free records. Sizing the audience first costs nothing.

Prerequisites

  • A LeadOcean account. The free plan gives 1,000 records one-off, no card: register here.
  • An API key from the app, exported as $LEADOCEAN_API_KEY.
  • curl and jq.
bash
export LEADOCEAN_API_KEY="paste-your-key-here"

Every request goes to https://api.leadocean.io with the header x-api-key. A free key has both scopes, search and enrich, at 5 requests a second.

Step 1: Size the angel investor list first

Send count=true as a query parameter with limit 1 and the call returns a total without spending a record. Filters go in a flat JSON body, and every filter is an array of strings.

bash
curl -s -X POST "https://api.leadocean.io/v1/people/search?count=true" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": ["Angel Investor"],
    "salesRegion": ["NORAM"],
    "limit": 1
  }' | jq '.meta | {total, totalIsExact, distinctCompanies}'

meta.total is capped at 100,000. The regions are NORAM, LATAM, EMEA and APAC, and enum values are exact strings. Angel investing is often a side title, so the list is small. That is normal.

Step 2: Search the title

Drop count and pull a small page. Each person returned costs one record, so keep limit low.

bash
curl -s -X POST "https://api.leadocean.io/v1/people/search" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": ["Angel Investor"],
    "salesRegion": ["EMEA"],
    "limit": 1
  }' > angel.json

jq '.data | length' angel.json

Title values are keywords. Wrap one in square brackets, such as ["[Angel Investor]"], for an exact match. Search rows are thin: they carry has_email and has_phone flags, not the address itself.

Step 3: Enrich the person to get the email

Each search row carries an id at meta.source_ids.person_id. Send it back to enrich that exact person. Enrich takes exactly one of linkedin_url, email, phone or person_id.

bash
PID=$(jq -r '.data[0].meta.source_ids.person_id' angel.json)

curl -s -X POST "https://api.leadocean.io/v1/people/enrich" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"person_id\": \"$PID\", \"reveal_email\": true}" > person.json

This costs one record. reveal_email costs nothing extra and returns every email we hold for that person. If we hold nothing, you get a 404 and no charge. There is no lookup by name plus domain: search first, then enrich by person_id.

Step 4: Verify before you send

Read email_status and send only to addresses worth sending to. A verified or catch_all_valid status is safe. A catch_all status means the domain accepts everything, so the mailbox may not exist.

bash
jq -r '.data.contact_data.contact_emails[]
  | select(.status == "verified" or .status == "catch_all_valid")
  | .email' person.json

Bounced emails are not refunded, so treat every other status as a no-send. Many angels use a personal address (Gmail or similar), so check the type field too: work, work_other (a former employer) or personal. Drop work_other, because it points at a job the person has left.

Step 5: Use a pattern only when the lookup finds nothing

When an angel is not in the data but runs a named firm or syndicate, guess at that domain, then verify the guess before you send. These are the common patterns:

text
first.last@acme.com    jane.doe@acme.com
flast@acme.com         jdoe@acme.com
first@acme.com         jane@acme.com
firstl@acme.com        janed@acme.com

Find the pattern from any other address you already hold at that domain. Never send to a guessed address that has not been verified. A guess at a catch-all domain always looks valid and tells you nothing.

Angels get a lot of cold mail. Keep the first email under 100 words, name one specific reason you fit their stated focus, and ask one question. Skip info@ and hello@ addresses: they carry the role status and are not a personal inbox.

What you get

The Step 1 count is free. The free MCP tool leadocean_count_leads ran these filters on 2026-10-21: title keyword Angel Investor, split by salesRegion. It counts people with a verified, catch_all_valid or catch_all email by default, so these are mailable counts.

RegionMailable angel investors (2026-10-21)All matching people
Worldwide2,4107,222
NORAM1,1182,999
EMEA6562,078
APAC3321,177
LATAM152482

The four regions sum to less than the worldwide figure because some people carry no region. Each call returned totalIsExact: true and credits: 0. The worldwide mailable count spans 1,590 distinct employers. Title keywords match any title containing those words, so read a sample before you build a campaign on the total.

A record-level response has the shape below (response shape from the API reference, placeholder values):

json
{
  "success": true,
  "data": {
    "profile_data": { "profile_full_name": "Jane Doe", "profile_headline": "Angel Investor at Acme" },
    "contact_data": {
      "has_email": true,
      "contact_current_experiences": [
        { "company_name": "Acme", "company_domain": "acme.com", "job_title": "Angel Investor" }
      ],
      "email_status": "verified",
      "contact_emails": [
        { "email": "jane.doe@acme.com", "type": "work", "status": "verified" }
      ]
    }
  },
  "meta": { "source": "leadocean" }
}

Each record carries its own fetched_at date, and the dataset refreshes monthly. Check the date on anything you plan to act on. Since October 2026 the enrichment also returns resume_data with past roles, so you can see where the angel worked before and open with that.

Troubleshooting

ErrorCauseFix
401Missing or wrong x-api-key headerRe-export $LEADOCEAN_API_KEY and check the header name. Retrying will not help
402Out of records. On Free the 1,000 are a one-off allowanceMove to Solo at $97 a month, or lower limit. See pricing
429Over the plan's rate limit (5 requests a second on Free, 200 on Agency)Honour the Retry-After header and back off
Empty dataA filter value is not an exact enum stringCheck the allowed values with GET /v1/enums and copy one
404 on enrichWe hold nothing for that personNo charge. Search again, or try the pattern route in Step 5
Search stops at 10,000 rowsOne search pages to 10,000 rows (meta.depthCapped)Narrow the filters, for example by region

FAQ

Where do angel investor emails come from?

Most come from a contact database, a fund or syndicate website, or the investor's public profiles. A database gives you a deliverability status. The other two do not.

Is an angel investor's email public?

Sometimes. Many angels list a contact address on a personal site or an AngelList-style profile. Check the page before you pay for a record.

Can I guess an angel investor's email?

You can try, but verify before sending. Guesses at a catch-all domain always look valid. Read email_status instead of assuming.

How many angel investors can I reach on the free plan?

The 1,000 free records cover a lot of enrichments. The mailable worldwide count on 2026-10-21 was 2,410, so the free plan covers a pilot slice of it. Bulk CSV export is not on Free; Solo at $97 a month includes it.

Can an AI agent run these steps?

Yes. The hosted MCP server signs in with OAuth. Ask it to count angel investors by region with leadocean_count_leads, which is free, then look up the people you pick.

Does LeadOcean replace a CRM or sequencer?

No. LeadOcean returns the data. You send with your own tool. The app has an Exports page for CSV download, with a filter builder and the record price shown first.

Related guides: VP of Sales, VP of Marketing, VP of Engineering. Back to the blog hub.

Size your angel investor list free, then pull the emails

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →