People API Examples

The People API provides numerous powerful ways to search across all Live Data people. In general, the API supports the following use cases.

  1. You have some attribute(s) for a person and want to try to FIND them in Live Data given those attributes
  2. You have some SEARCH criteria for which you want to get all people that meet the criteria

The following sections provide more details for each of the above use cases and some sample code.

You have some attribute(s) for a person and want to try to FIND them in Live Data given those attributes

When you are trying to find a specific person given attributes about them, use our find endpoint. This endpoint accepts up to 100 queries per call -- the list of search fields supported are documented in the above link.

The response to the call is an array of the same size as the request. Every array item contains the person/people that matched the input query. If multiple people match, up to 5 are provided, based on the highest scoring matches.

Here are a few examples:

Find a person given their linkedin url

When using the linkedin url, use only the "slug" part of the url (the part after the last /, e.g https://linkedin.com/in/ryansoleary => ryansoleary

curl --request POST \
     --url https://gotlivedata.io/api/people/v1/o_8eba54ab/find \
     --header 'accept: application/json' \
     --header 'authorization: Bearer <redacted>' \
     --header 'content-type: application/json' \
     --data '
{
  "matches": [
    {
      "fields": [
        {
          "field_name": "linkedin",
          "search_term": "ryansoleary"
        }
      ]
    }
  ]
}
'

Find 3 people given their email addresses

curl --request POST \
     --url https://gotlivedata.io/api/people/v1/o_8eba54ab/find \
     --header 'accept: application/json' \
     --header 'authorization: Bearer <redacted>' \
     --header 'content-type: application/json' \
     --data '
{
  "matches": [
    {
      "fields": [
        {
          "field_name": "email_address",
          "search_term": "[email protected]"
        }
      ]
    },
    {
      "fields": [
        {
          "field_name": "email_address",
          "search_term": "[email protected]"
        }
      ]
    },
    {
      "fields": [
        {
          "field_name": "email_address",
          "search_term": "[email protected]"
        }
      ]
    }
  ]
}
'

Find one person using name and company and one using email address

curl --request POST \
     --url https://gotlivedata.io/api/people/v1/o_8eba54ab/find \
     --header 'accept: application/json' \
     --header 'authorization: Bearer <redacted>' \
     --header 'content-type: application/json' \
     --data '
{
  "matches": [
    {
      "fields": [
        {
          "field_name": "email_address",
          "search_term": "[email protected]"
        }
      ]
    },
    {
      "fields": [
        {
          "field_name": "name",
          "search_term": "Scott Hamilton"
        },
        {
          "field_name": "company.name",
          "search_term": "Live Data Technologies"
        }
      ]
    }
  ]
}
'

You have some SEARCH criteria for which you want to get all people that meet the criteria

In some cases you may be looking for a set of people that meet certain criteria. For this use case we provide the search endpoint which allows you to compose a search using any field that is part of the person data model, use fuzzy or exact matches, look for the existence of (or not) a given field, and more.

Search for people who have recently left a company

The following example shows how you might search for people that have recently left a company of interest. Specifically, the following examples looks for folks in the Engineering org that have left Stripe or SpaceX since Sept '23:

curl --request POST \
     --url https://gotlivedata.io/api/people/v1/org_id/search \
     --header 'accept: application/json' \
     --header 'authorization: Bearer <redacted>' \
     --header 'content-type: application/json' \
     --data '
{
  "filters": [
    {
      "match_type": "fuzzy",
      "job_group": 1,
      "type": "must",
      "field": "jobs.ended_at",
      "date_from": "2023-09-01"
    },
    {
      "match_type": "exact",
      "job_group": 1,
      "type": "must",
      "field": "jobs.company.linkedin",
      "string_values": [
        "stripe",
        "spacex"
      ]
    },
    {
      "match_type": "exact",
      "job_group": 1,
      "type": "must",
      "field": "jobs.function",
      "string_values": [
        "Engineering"
      ]
    }
  ]
}
'