Introducing Supportive - Profiles in your Gmail Learn more

Does Proxycurl’s Third-Party LinkedIn API Scrape Contact Information From LinkedIn Profiles?
proxycurl

Does Proxycurl’s Third-Party LinkedIn API Scrape Contact Information From LinkedIn Profiles?

No, we didn't scrape contact information from LinkedIn profiles.

However, we integrated our publicly scraped LinkedIn dataset, LinkDB, with other data sources, which allowed us to provide complete enrichment, including contact information.

Meaning, Proxycurl could typically still provide contact information for a given LinkedIn, Twitter/X, or Facebook profile despite not scraping contact information from LinkedIn itself.

Using Proxycurl for contact enrichment

Note: Proxycurl API has been sunset. I was the founder behind Proxycurl, and I am now building NinjaPear. I am retaining the original Proxycurl details in this article because the question is specifically about how Proxycurl handled LinkedIn contact enrichment.

For example, it could be as simple as the following cURL query to the Person Profile Endpoint:

curl \
    -G \
    -H "Authorization: Bearer Your_API_Key_Here" \
    'https://nubela.co/proxycurl/api/v2/linkedin' \
    --data-urlencode 'linkedin_profile_url=https://linkedin.com/in/johnrmarty/' \
    --data-urlencode 'personal_contact_number=include' \
    --data-urlencode 'personal_email=include' \
    --data-urlencode 'use_cache=if-present' \
    --data-urlencode 'fallback_to_cache=on-error'

To enrich a Facebook or Twitter user, you would change this query to use facebook_profile_url or twitter_profile_url instead of linkedin_profile_url. You only needed one identifier.

The above cURL query to the Person Profile Endpoint would return you:

  • Profile picture URL: Direct URL to the profile picture.
  • Background cover image URL: Direct URL to the background cover image.
  • First Name, last Name: Name of the individual.
  • Follower count: The number of followers the individual has.
  • Occupation: Current job title and employer.
  • Headline: Professional headline as listed on LinkedIn.
  • Summary: A brief overview of the professional's background, achievements, and goals.
  • Country, city, state: Location details.
  • Company Name: The name of the company where the individual worked.
  • Company LinkedIn profile URL: Direct URL to the company's LinkedIn page.
  • Title: Job title held during the tenure at the company.
  • Description: Description of the role and responsibilities.
  • Start and end dates: The duration of the employment.
  • School Name: The name of the educational institution.
  • School LinkedIn profile URL: Direct URL to the institution's LinkedIn page.
  • Birth date: The birthdate of the user.
  • Degree name and field of study: Specifics of the degree earned.
  • Start and end dates: The duration of the educational program.
  • Languages: Languages spoken by the individual.
  • Certifications: Any certifications that the individual has obtained.
  • Volunteer work: Volunteer positions held, including the organization and the role.
  • Projects: Significant projects that the individual has contributed to, including a description and URL if applicable.
  • Recommendations: Testimonials from colleagues, clients, or employers that underscore the individual's professional capabilities.
  • People also viewed: Other LinkedIn profiles that are frequently viewed alongside this individual's profile.
  • Groups: LinkedIn groups that the individual is a part of, providing insight into their professional interests and affiliations.
  • Interests: A list of interests the user has.
  • Personal emails: A list of personal emails associated with a given identifier.
  • Personal numbers: A list of personal numbers associated with a given identifier.

If you wanted to return other social media identifiers, such as for messaging, the github_profile_id, facebook_profile_id, and twitter_profile_id parameters would accomplish that with the Person Profile Endpoint.

Please note that any of the above enrichment parameters, including personal_contact_number and personal_email, would cost 1 additional credit per successful result returned. For a full breakdown of credit usage costs, view the documentation here.

Finding work email addresses

To enrich a profile with a work email, you would need to use the Work Email Lookup Endpoint.

The main difference is that it functioned via webhooks and a push mechanism. For demonstration purposes, you could use webhook.site to set up a quick and easy webhook.

Here's how pulling a work email would look via a simple cURL command and a webhook.site webhook:

curl \
    -G \
    -H "Authorization: Bearer Your_API_Key_Here" \
    'https://nubela.co/proxycurl/api/linkedin/profile/email' \
    --data-urlencode 'linkedin_profile_url=https://sg.linkedin.com/in/williamhgates' \
    --data-urlencode 'callback_url=https://webhook.site/110ddbc3-d0a2-424a-b011-1cc36302a7f3'

Which returns the following result:

{"email": "[email protected]", "status": "email_found", "profile_url": "https://www.linkedin.com/in/williamhgates"}

More about the Contact API

We also offered the respective Contact API endpoints, which may have been useful, particularly if you had no interest in general enrichment and only needed contact information:

Create your account

Between the Person Profile Endpoint, including the additional contact enrichment parameters available for it, as well as the Work Email Lookup Endpoint, Personal Email Lookup Endpoint, and Personal Contact Number Lookup Endpoint, there were several options for contact information enrichment.

If you're reading this today, the important context is simple: Proxycurl is no longer the active product. I now run NinjaPear, where the broader focus is B2B intelligence built from public web and first-party data, not scraping LinkedIn contact information.

If you want to explore what I am building now, you can start with NinjaPear's Employee API and the rest of the platform from there.

P.S. For historical context on Proxycurl billing and pricing, the old pricing references in this article were tied to Proxycurl's documentation and product structure at the time this post was originally written.

Colton Randolph | Technical Writer
Colton is a technical writer skilled in Python, SEO, and content strategy. He combines rich data with his 8-year expertise in writing to illustrate how Sapiengraph can move the needle for you.

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