Network

Map shared connections and surface the strongest warm-intro paths

What is a network?

A network is a group of people your organization knows personally — board members, major supporters, advisors, alumni, staff. When you add someone to your network, we automatically find every other person in our database who shares a meaningful relationship with that person: same nonprofit board, same employer, same school, same donation recipient, and more.

These discovered relationships are called connections. Each connection has a strength score from 0 to 1, based on how likely the two people actually know each other — factoring in things like how long they overlapped, how large the organization is, and how recent the relationship is. When we save connections to your network, we’ve already filtered out the fluff — only connections with a strength of 0.45 or higher are kept. Weaker signals aren’t worth your time, so we exclude them upfront.

One network per team

Your team has a single network. Every network endpoint resolves it automatically from your API key, so you never pass a network ID. Set it up once with POST /networks (if it already exists, that call just returns it), then add people to it.

Adding people

There are two ways to add people to your network:

Add a single memberPOST /networks/members. Synchronous. Connection computation happens immediately and the response tells you it’s done. Use this when adding one person at a time.

Add members in bulkPOST /networks/members/batch. Asynchronous. Submit up to 100 person IDs, get back a job ID, then poll GET /networks/jobs/{job_id} until it’s complete. Use this when populating your network with a list.

Using your network

Once your network has members, there are three ways to use it:

Find connected prospects

POST /networks/discover

This searches our entire database for prospects connected to your network members, ranked by connection strength. It’s open-ended discovery — you’re asking “who should we be talking to that we don’t already know about?”

  • Specific members (in_network_person_ids) — only show connections through these people

If you already have a list of prospects and want to check them against your network, use “Check people against your network” instead.

Check people against your network

POST /networks/connections

Submit a list of person IDs — these are your prospects. We check each one against your network members and return them ranked by connection strength. Prospects with no connections are included at the bottom with a strength of 0.

This is the targeted version of discovery. You already know who you want to evaluate — you just want to know which ones have warm paths in through your network.

You can scope by the same filters: specific members and minimum strength.

Look up a single person’s network connections

GET /networks/people/{person_id}/connections

Deep dive on one person’s connections to your network. Returns whether they’re in your network and every connection to your network members. Use this when you’re researching a specific prospect.

Look up any person’s connections (no network required)

POST /networks/lookup

Compute connections for any person at query time, without needing to add them to your network first. We search across the entire database for people who share meaningful relationships with the queried person. Results are ranked by connection strength, strongest first. This is useful for one-off research before deciding whether to add someone to your network.

Understanding a connection

  • strength — how likely the two people actually know each other (0.45–1.0 for network-based endpoints, since weaker connections are pre-filtered; the full 0.0–1.0 range is available via lookup)
  • snippet — a brief human-readable label like “Same board, 4 years overlap”
  • source_person — the network member who creates this connection

Putting it together

1. Set up your network
POST /networks {"name": "My Board", "color": "blue"}
2. Add your board members in bulk
POST /networks/members/batch {"person_ids": ["id1", "id2", ...]}
3. Poll until complete
GET /networks/jobs/{job_id} -> {"status": "completed", ...}
4. Discover who your board is connected to
POST /networks/discover {"limit": 20}
5. Take the top prospects and compare them
POST /networks/connections {"person_ids": ["prospect1", "prospect2", ...]}
6. Deep dive on the most promising one
GET /networks/people/{prospect_id}/connections
Or, skip the network entirely and look up anyone:
POST /networks/lookup {"person_id": "any_person_id", "limit": 20}