The Pipl API Developer Hub

Welcome to the Pipl API developer hub. You'll find comprehensive guides and documentation to help you start working with Pipl API as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Discussions

Taking your first steps

This page will help you get started with PIPL API. You'll be up and running in a jiffy!

1. Get an API key

All API calls must include a valid API key, this is our way of identifying you and authorizing your call.

If you have an account, you can choose a key on your API Keys page.

If you just want to make a few calls for experimenting with our API you can get a disposable key on the demo page.

2. Choose your code library

We don't want you to work hard, so we've written code libraries for major programming languages, to make integration a breeze.

Just choose your preferred language - we currently support Python, Ruby, Java, C# and PHP.

Download a code library here

3. Run a "Hello World" query

The basic concept is: You pass the information you have about someone and we'll give you all the data available about that person.

Let's say we're looking for Clark Kent, who's using the email clark.kent@example.com:

https://api.pipl.com/search/?first_name=Clark&last_name=Kent&email=clark.kent@example.com&key=YOURKEY

Use Encryption

We require SSL, so change any URL prefix to HTTPS instead of HTTP.
API Endpoint: https://api.pipl.com/search/

https://api.pipl.com/search/?email=clark.kent@example.com&key=YOURKEY
#imports
from piplapis.search import SearchAPIRequest

#run search (request/response)
request = SearchAPIRequest(email=u'clark.kent@example.com',
first_name=u'Clark', last_name=u'Kent', api_key='YOURKEY')
response = request.send()

#print portion of response
if response.person:   #Has data so single Full Person response
    currentPerson = response.person
    print("Hello World:")    
    print("Number of Names:", len(currentPerson.names))           
    print("Name(s):" + "\n" .join(map(str, currentPerson.names)))   
    print("Username(s):"  + "\n" .join(map(str, currentPerson.usernames)))   
    print("Emails(s):"  + "\n" .join(map(str, currentPerson.emails)))   
    print("\n")
require 'pipl'
response = Pipl::client.search email: 'clark.kent@example.com', first_name: 'Clark',
last_name: 'Kent', api_key: 'YOURKEY'
import com.pipl.api.search.SearchAPIRequest;
import com.pipl.api.search.SearchAPIResponse;
import com.pipl.api.search.SearchConfiguration;

SearchAPIConfiguration configuration = new SearchConfiguration();
configuration.setProtocol("https");
configuration.apiKey = 'YOURKEY'
SearchAPIRequest request = new
SearchAPIRequest.Builder().email("clark.kent@example.com").firstName("Clark").lastName("Kent").configuration(configuration).build();
SearchAPIResponse response = request.send();
<?php

require_once './piplapis/search.php';

$configuration = new PiplApi_SearchRequestConfiguration();
$configuration->api_key = 'YOURKEY';
$configuration->use_https = true;
  
$request = new PiplApi_SearchAPIRequest(array('email' => 'clark.kent@example.com',
'first_name' => 'Clark',
'last_name' => 'Kent'), $configuration);
$response = $request->send();

?>
SearchConfiguration searchConfiguration = new SearchConfiguration(apiKey: "YOURKEY",useHttps: true);
SearchAPIRequest request = new SearchAPIRequest(email: "clark.kent@example.com",
firstName: "Clark",
lastName: "Kent", requestConfiguration: searchConfiguration);
SearchAPIResponse response = await request.SendAsync();
curl https://api.pipl.com/search/\?email=clark.kent@example.com\&key=YOURKEY

Note that you can query with emails, phones, usernames, names, addresses, age and more.

Review the full API reference

4. Work with the results

A search response will contain a single person object when we're confident we've matched your search parameters to a single, real world person.

This usually happens when your search is unique enough, like searching by an email address or a very unique name. The response will look like this:

{
    ...
    "person": {a person object},
    ...
}

If we cannot match your search to a single person - for example if you searched for "John Smith", the response will contain a list of possible persons.

This list will be ordered by a match score, symbolizing how confident we are that each person is the person you're looking for.

{
    ...
    "possible_persons": [{a person object}, {a person object}, ... , {a person object}],
    ...
}

The person objects in the response holds the actual data fields.

5. You're good to go!


What's Next

That's it! You now know how our People Data API works. For further reading, we recommend these resources:

Frequently Asked Questions
Code Libraries
Code Snippets
Data Types

Taking your first steps


This page will help you get started with PIPL API. You'll be up and running in a jiffy!

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.