Introducing Person Profile Endpoint (Also: 1000 Users/66K ARR 🎉) Learn more

Introducing Person Profile Endpoint (Also: 1000 Users/66K ARR 🎉)
Introducing Person Profile Endpoint
• announcement

Introducing Person Profile Endpoint (Also: 1000 Users/66K ARR 🎉)

I am happy to share a new API endpoint with you today: the Person Profile API Endpoint. The Person Profile Endpoint takes a work email, a name+company, or a role+company combination and returns a full and detailed person profile, including his/her work history, education history, and public profile picture (from his/her X profile, if any).

With Patrick Collison's work email, you can get his full professional profile:

curl -G \
  "https://nubela.co/api/v1/employee/profile" \
  --data-urlencode "[email protected]" \
  -H "Authorization: Bearer YOUR_API_KEY"

His professional profile:

{
  "id": "a3xK9mP2",
  "full_name": "Patrick Collison",
  "first_name": "Patrick",
  "last_name": "Collison",
  "bio": "Co-founder and CEO of Stripe",
  "profile_pic_url": "https://pbs.twimg.com/...",
  "country": "IE",
  "city": "IELIM",
  "x_handle": "patrickc",
  "x_profile_url": "https://x.com/patrickc",
  "personal_website": "https://patrickcollison.com",
  "work_experience": [
    {
      "role": "Co-founder & CEO",
      "company_name": "Stripe",
      "company_website": "stripe.com",
      "start_date": "2010-01",
      "end_date": null
    },
    {
      "role": "Software Developer",
      "company_name": "Shuppa",
      "company_website": null,
      "start_date": "2007-06",
      "end_date": "2009-12"
    }
  ],
  "education": [
    {
      "major": "B.S. Mathematics",
      "school": "MIT",
      "start_date": "2006-09",
      "end_date": "2009-06"
    }
  ]
}

How does it work?

First and foremost, we do not scrape that particular professional social network site (starting with L). In fact, nothing on NinjaPear scrapes that site, nor will we ever do so. We learnt our lesson, so we will not put you or ourselves at any legal risk.

The Person Profile Endpoint searches and aggregates relevant personal professional data from public web sources. Then, we use AI to extract relevant parts of it and semantically structure the data so that you get clean and fresh personal profile data.

In fact, the Person Profile Endpoint goes beyond simple profile enrichment. It performs an AI search to make sure that the person you are searching for is the correct person. For example, you can tell the Person Profile Endpoint to get the profile data of the CTO of Delve without actually knowing his identity, like this:

curl -G \
    -H "Authorization: Bearer 2718ebe643cf4d9682d64b5889fb43f4" \
    --data-urlencode "employer_website=https://delve.co" \
    --data-urlencode "role=cto" \
    "https://nubela.co/api/v1/employee/profile"

And because I honestly didn't know who he was, I ran the query with my own API key and this is what I got:

{
  "bio": null,
  "city": "LTVIE",
  "country": "LT",
  "education": [
    {
      "end_date": "2016-01",
      "major": "BSc in Artificial Intelligence and Computer Science; Master of Informatics (MInf)",
      "school": "The University of Edinburgh",
      "start_date": "2011-01"
    },
    ...
  ],
  "first_name": "Ingvaras",
  "follower_count": null,
  "following_count": null,
  "full_name": "Ingvaras Merkys",
  "id": "lEPJGBoE",
  "last_name": "Merkys",
  "middle_name": null,
  "personal_website": "ingvaras.com",
  "profile_pic_url": null,
  "slug": "ingvaras-merkys",
  "state": null,
  "work_experience": [
    {
      "company_name": "Delve",
      "company_website": "delve.co",
      "description": "AI-native compliance platform that automates regulatory frameworks like SOC 2 and HIPAA",
      "end_date": null,
      "role": "Technical Co-Founder and CTO",
      "start_date": "2024-02"
    },
    ...
  ],
  "x_handle": null,
  "x_profile_url": null
}

You can view the full JSON here.

How well does the Person Profile Endpoint work?

Match Rate

Input Method Profiles Found Accuracy
Work email 10/10 100%
First name + Last name + Company 9/10 90%
Role + Company 7/10 70%

The name+company miss was a very common name at a large company (First_Name Last_Name at Google). The role+company misses were either too-generic roles ("Software Engineer" at Google) or obscure companies with limited public presence.

X Profile & Profile Picture Enrichment

Input Method X Handle Found Profile Picture
Work email 2/10 2/10 (20%)
Name + Company 3/10 3/10 (30%)
Role + Company 4/10 4/10 (40%)

Profile pictures are sourced from X/Twitter profiles. When an X handle is found and validated, the profile picture, bio, and follower counts are populated.

Response Time (Uncached)

Measured from production (nubela.co), all cold-starts (no upstream cache):

Percentile Time
p5 17.6s
p50 23.1s
p95 31.1s

Raw Data (Work Email Tests):

These are the 10 work email tests specifically (the most consistent dataset): 17.6, 20.5, 20.8, 20.9, 23.7, 24.2, 25.4, 26.4, 27.1, 31.1 seconds.

1036 NinjaPear users! 66K ARR!

In the 54 days since we launched, NinjaPear has grown to 1036 registered users at the time of writing. On top of that, NinjaPear is now running at an annualized run rate of around $66,000! Not bad for a product that is barely two months old. My point is, NinjaPear is here to stay because we are now profitable and growing exponentially.

+75% bonus credits for one last subscriber

One last thing. I never did publicize this, except for a blog post that I did not share publicly. But for 5 more subscribers, you stand to get up to 75% bonus credits, among other swag. 5 slots have already been taken. Each new subscriber will reduce the bonus by 5%. I can guarantee you that after these 5 subscribers, there will never be another promotion. People who know me as the CEO of Proxycurl, which I grew to 10M ARR, will know that I mean it when I say that I do not offer seasonal promotions.

And trust me, you want to upgrade to a subscription. I will be gatekeeping the free APIs behind tiered rate limits based on your subscription plan soon. For users not on a subscription plan, the rate limit of free APIs will be kept to 2 requests/minute. You heard it here first!

As usual, if you have any questions at all, send us an email at [email protected] and we'll respond to you personally ASAP, sans AI!

Steven Goh | CEO
World's laziest CEO. CEO of NinjaPear. Ex-Founder of Proxycurl (10+M), Steven founded 5 other startups: Gom VPN, Kloudsec, SilvrBullet, NuMoney, and SharedHere.

Featured Articles

Here's what we've been up to recently.

I dismissed someone, and it was not because of COVID19

The cadence of delivery. Last month, I dismissed the employment of a software developer who oversold himself during the interview phase. He turned out to be on the lowest rung of the software engineers in my company. Not being good enough is not a reason to be dismissed. But not

sharedhere

I got blocked from posting on Facebook

I tried sharing some news on Facebook today, and I got blocked from posting in other groups. I had figured that I needed a better growth engine instead of over-sharing on Facebook, so I spent the morning planning the new growth engine. Growth Hacking I term what I do in