Multiples API

Resolve Investor Names

Introduction

This endpoint maps free-text investor names to stable investor IDs in bulk.

Send a list of names and receive, for each one, either a confident exact match with an ID, a set of ranked candidates when the name is ambiguous, or no_match when nothing was found.

Use it to normalize a messy spreadsheet or CRM data before calling the investor endpoints (/investors/{id}, /investors/{id}/investments, /investors/{id}/co_investors), or to validate a list of names in a single round trip.

Set up

Endpoint

POST https://multiples.vc/api/private/v1/investors/resolve

Request

Send a JSON body with a single names array. The matcher is case-insensitive and tries an exact lookup first, falling back to fuzzy ranking when an exact match is missing or ambiguous.

{
  "names": [
    "Sequoia Capital",
    "Sequoi",
    "Zzqx Nonexistent VC"
  ]
}
fieldtypedescription
namesstring[]Required. Investor names to resolve. Each entry must be a non-empty string and contain no NUL bytes. Maximum 200 names per call.

Response

Returns a data array with one result per input name, in the same order. For an exact match, id is populated. For ambiguous, id is null and a ranked candidates array is returned. For no_match, id is null and no candidates are returned.

{
  "data": [
    {
      "query": "Sequoia Capital",
      "id": "9918f9bb-0d74-434d-9029-a44cbee87637",
      "match_type": "exact"
    },
    {
      "query": "Sequoi",
      "id": null,
      "match_type": "ambiguous",
      "candidates": [
        {
          "id": "682e8a71-8e0f-4106-b8fe-f747a150876e",
          "name": "Sequoia Fund",
          "country": "USA",
          "score": 0.5
        },
        {
          "id": "6b4dcb9f-8e91-4339-a83b-c688e7025072",
          "name": "Sequoia Apps",
          "country": "USA",
          "score": 0.5
        },
        {
          "id": "19566905-8cf4-46d4-a1b2-3e6e9cade5b2",
          "name": "Sequoia Scout",
          "country": "USA",
          "score": 0.46
        }
      ]
    },
    {
      "query": "Zzqx Nonexistent VC",
      "id": null,
      "match_type": "no_match"
    }
  ]
}

Fields

fieldtypedescription
querystringThe input name, echoed back so results can be matched to the request.
idstring (uuid) | nullThe resolved investor ID. Populated only when match_type is exact; null for ambiguous and no_match.
match_typestringOne of exact, ambiguous, or no_match.
candidatesobject[]Ranked alternatives, returned only when match_type is ambiguous. Up to 5 entries, highest score first.
candidates[].idstring (uuid)Investor ID of the candidate.
candidates[].namestring | nullCandidate investor name.
candidates[].countrystring | nullISO 3166-1 alpha-3 country code of the candidate, when known.
candidates[].scorenumberFuzzy match confidence from 0 to 1, where 1 is the closest match.

On this page