Fresh Data Is Here for Person, Company & Employee Search API Endpoints Learn more

Learn How To Bypass LinkedIn Search Limits in 2023
LinkedIn is notorious for limiting usage for common, non-paying users like you and I.

/ proxycurl

How To Bypass LinkedIn Search Limits in 2024

It's no secret, the ability to search for people on LinkedIn is incredibly powerful.

There's a massive amount of high-quality business-centric data available on LinkedIn.

The problem is LinkedIn isn't exactly a fan of sharing their data... which is bad news for you! Regardless of your use case of the data (Sales, HR, VC, software developer, growth-stage startup, etc.), they make it very, very hard to pull data off their platform at any serious scale.

So, the question ultimately is: "How do I get around LinkedIn's search limitations so that I can get my hands on high-quality data about people and companies?"

Good question, let me tell you how, but first I need to explain a couple of things...

1st, 2nd, and 3rd-degree connections

Your network on LinkedIn is made up of what LinkedIn calls 1st, 2nd, and 3rd-degree connections, for example, here's one of my own 1st-degree connections:

LinkedIn 1st-degree connection

Here's how LinkedIn explains its connection system:

1st-degree connections - People you're directly connected to because you've accepted their invitation to connect, or they've accepted your invitation. You'll see a 1st degree icon next to their name in search results and on their profile. You can contact them by sending a message on LinkedIn.

People you probably know, might have worked with them.

2nd-degree connections - People who are connected to your 1st-degree connections. You'll see a 2nd degree icon next to their name in search results and on their profile. You can send them an invitation by clicking the Connect button on their profile page.

People you might know.

3rd-degree connections - People who are connected to your 2nd-degree connections. You'll see a 3rd degree icon next to their name in search results and on their profile.

People you probably don't know.

These connections and their respective classification by LinkedIn are super important going forward because these classifications are how both LinkedIn limits your personal search results on its platform, but also how it limits your commercial use in general (even on paid plans).

LinkedIn commercial use limits

LinkedIn has a commercial use limit of around 300 commercial actions per month.

Commercial use limit

That means if you hit their limit, they think you're using their platform for a commercial use case (recruiting, sales, etc)... which you probably are, and that's fine.

That's what we're here for.

But, the main point here is once you hit this LinkedIn commercial use limit, you won't be able to do any more searches, therefore, you can't pull any more data.

According to LinkedIn themselves, here's what happens once you hit this commercial use limit:

You'll see a warning as you approach the limit. Your free monthly usage resets at midnight PST on the 1st of each calendar month. We are not able to display the exact number of searches or views you have left and we also cannot lift the limit upon request. Also note that the warning that you are approaching the limit may not display if you run through the full amount of searches or views too quickly.

Of course, LinkedIn has its own exact algorithm for determining when and why you've hit your commercial limit use, but according to them, all of the following actions contribute to your commercial use limit:

Specific activities that contribute to the limit include:

  • Searching for LinkedIn profiles on LinkedIn.com and mobile
  • Browsing LinkedIn profiles using the People Also Viewed section located on the right pane of a profile
  • Viewing member profiles on the People tab of LinkedIn Pages

LinkedIn people search limits

LinkedIn has an entirely separate policy for people search limits.

To increase monetization efforts for their platform, they've somewhat locked down the ability to search for people specifically (because it's a very valuable data point).

Here's how LinkedIn explains its people search limits:

People search usage limit is calculated based on your activity on LinkedIn. This is used to determine if you're using LinkedIn for recruiting or generating leads. Here are some examples of what might be considered as habits for recruiting or generating leads:

  • Viewing lots of profiles that are not 1st-degree connections
  • Searching for companies and employees of a specific company
  • Searching outside of your network (3rd-degree people searches)
LinkedIn Amazon developer people search
Note the 2nd-degree connections aspect.

LinkedIn search limits

Let's say we're an HR firm trying to recruit a software developer and are using LinkedIn to build a list of prospects.

The LinkedIn profile search term "Amazon developers" returns a huge list of results:

104000 results for Amazon developer

104,00 results, to be specific.

There are 10 profiles on every page. Multiply that by 100 and you get 1,000 results for profiles with the LinkedIn profile search term "Amazon developer":

LinkedIn amazon employees search results

That's the maximum amount of results LinkedIn will allow you to see on any given people search on LinkedIn for free.

Through LinkedIn, the only way to increase the number of profile searches possible on LinkedIn is by upgrading to their Sales Navigator or Recruiter plans.

Once you upgrade to a paid LinkedIn subscription, you'll no longer be bothered with their commercial use policy at all.

The profile search limit on the other hand remains. For instance, if you upgrade to Sales Navigator, you're allowed to see up to 2,500 profile searches.

In this case, that means even though we received 104,000 results, we would only be able to build a prospecting list for 2,500 of those results, even with a paid subscription to LinkedIn Sales Navigator.

Basically, even if you pay, you're still limited in the amount of data you can pull from LinkedIn, and you have to pull it in a pretty inconvenient manner.

Proxycurl API: your new best friend

Proxycurl's API provides you with fresh and processed data for your application so that you don't have to worry about scraping and processing data at scale anymore.

Nor do you have to worry about LinkedIn limiting you, what level of LinkedIn connection you are, or anything else like that.

With our API, you can:

Simply stated:

If you're looking to source data from LinkedIn, our API is your answer. Also, it's entirely GDPR- and CCPA-compliant – you don't need to worry there.

(See: Is LinkedIn Scraping Legal?)

LinkDB: An enterprise alternative

If you're looking for an enterprise offering, you may be interested in LinkDB, Proxycurl's premium data set with over 472 million public LinkedIn profiles. View our pricing or email us at [email protected] to get started with LinkDB today.

Bypass LinkedIn search limits with Proxycurl

Using our "Amazon developer" example earlier, I'll show you how we can accomplish that same goal much easier with our API.

In this example, we're going query the Person Search Endpoint, part of our Search API.

The entire point of the Person Search Endpoint is to search for people who meet a set of criteria within our exhaustive dataset of people profiles.

Pulling personal data from LinkedIn with filters

Using Python and our Person Search Endpoint, we can run the following code:

import json, requests

headers = {'Authorization': 'Bearer ' + 'Your_Proxycurl_API_Key'}

person_endpoint = 'https://nubela.co/proxycurl/api/search/person'
params = { 
    'enrich_profiles': 'enrich',
    'current_company_linkedin_profile_url':'https://www.linkedin.com/company/amazon',
    'current_role_title': '(?i)software developer',
    'country': 'us',
}
response = requests.get(person_endpoint, params=params, 
headers=headers)
result = response.json()
print(json.dumps(result, indent=2))

https://nubela.co/proxycurl/api/search/person

Because we have enrichment enabled (maximum page size of 10 when using enrichment, but you can use next_page), it'll pull all the information it possibly can about that individual's LinkedIn, including:

  • LinkedIn profile URL
  • Profile picture
  • First and last name
  • Current occupation (in this case, it'll be some level of Software Developer at Amazon because we specified it)
  • Country (United States, since we specified this)
  • Work experiences prior to Amazon
  • Education
  • People also viewed
  • More

You'll also see a response with the total amount of results found, and with our next_page response, you could build a large prospecting list. You can sort through the data you need with no limitations.

Pulling large amounts of personal data from LinkedIn

Let's change our Person Search Endpoint script a little bit here...

If we remove enrich_profiles and set the page_size to 100, like this:

import json, requests

headers = {'Authorization': 'Bearer ' + 'Your_Proxycurl_API_Key'}

person_endpoint = 'https://nubela.co/proxycurl/api/search/person'
params = { 
    'page_size': '100',
    'current_company_linkedin_profile_url':'https://www.linkedin.com/company/amazon', 
    'current_role_title': '(?i)software developer', 
    'country': 'us',
}
response = requests.get(person_endpoint, params=params, 
headers=headers)
result = response.json()
print(json.dumps(result, indent=2))

https://nubela.co/proxycurl/api/search/person

We'll see a response returned back like this:

pycharm proxycurl api

A page size of 100 results, with 637 total results. All still specifically working for Amazon as Software Developers.

This time since we removed enrich_profiles, it won't pull any other data other than the LinkedIn profile URL.

What can we do with that LinkedIn profile URL?

Obtaining work email addresses from LinkedIn profiles with Proxycurl API

Using our Work Email Lookup Endpoint we can request an email for the URL:

import requests

api_endpoint = 'https://nubela.co/proxycurl/api/linkedin/profile/email'
api_key = 'YOUR_API_KEY'
headers = {'Authorization': 'Bearer ' + api_key}
params = {
    'linkedin_profile_url': 'https://sg.linkedin.com/in/williamhgates',
    'callback_url': 'https://webhook.site/29e12f17-d5a2-400a-9d08-42ee9d83600a',
}
response = requests.get(api_endpoint,
                        params=params,
                        headers=headers)
print(response.json())

https://nubela.co/proxycurl/api/linkedin/profile/email

If any is available, it will be returned. If no email is returned, you won't be charged any credits.

The way this endpoint works is that instead of returning items directly to you, it returns them to the webhook of your chosing. https://webhook.site is a good sandbox to use while you're testing - go there and it'll give you a new webhook each time.

Each response looks like this:

  • Work email found (if any)
  • Email status (found or not found)
  • LinkedIn profile URL

You can look up more than work emails, too...

We could also use the following Python script with our Personal Email Lookup Endpoint to try to locate a personal email specifically:

import requests

api_endpoint = 'https://nubela.co/proxycurl/api/contact-api/personal-email'
api_key = 'YOUR_API_KEY'
headers = {'Authorization': 'Bearer ' + api_key}
params = {
    'linkedin_profile_url': 'https://linkedin.com/in/steven-goh-6738131b',
    'email_validation': 'include',
    'page_size': '0',
}
response = requests.get(api_endpoint,
                        params=params,
                        headers=headers)
print(response.json())

https://nubela.co/proxycurl/api/contact-api/personal-email

With our recent updates, you can also use Twitter or Facebook profiles with our Personal Email Lookup Endpoint LinkedIn - any of the following are valid "source" parameters:

  • linkedin_profile_url
  • twitter_profile_url
  • facebook_profile_url

We could go even further...

Obtaining personal phone numbers from any given social media profile

We could take our LinkedIn profile, and plug it into our Personal Contact Number Lookup Endpoint:

import requests

api_endpoint = 'https://nubela.co/proxycurl/api/contact-api/personal-contact'
api_key = 'YOUR_API_KEY'
headers = {'Authorization': 'Bearer ' + api_key}
params = {
    'linkedin_profile_url': 'https://linkedin.com/in/steven-goh-6738131b',
}
response = requests.get(api_endpoint,
                        params=params,
                        headers=headers)
print(response.json())

https://nubela.co/proxycurl/api/contact-api/personal-contact

That'll return us the personal phone number for any given social media profile (assuming we have it available).

You can also use Facebook and Twitter profiles with this endpoint.

Verifying if an email is valid, for free

You can see if the email provided is a disposable email address for entirely free. We charge zero credits for disposable email address checks.

You can use our Disposable Email Address Check Endpoint to do this, here's an example:

import requests

api_endpoint = 'https://nubela.co/proxycurl/api/disposable-email'
api_key = 'YOUR_API_KEY'
headers = {'Authorization': 'Bearer ' + api_key}
params = {
    'email': '[email protected]',
}
response = requests.get(api_endpoint,
                        params=params,
                        headers=headers)
print(response.json())

https://nubela.co/proxycurl/api/disposable-email

It would return the following responses:

  • is_disposable_email: true or false
  • is_free_email: true or false

This is only scratching the surface of what you can do with Proxycurl

The Amazon Software Developer example earlier is just one use case.

Nevertheless, it shows you exactly how you could build a very large list of high-quality prospects in any industry, for multiple use cases. You'd have full names, work email, personal email, and potentially a phone number.

There's quite a bit more than just what you've seen in this blog post that you can do with our API, too...

Give our documentation a read here to get an idea of what you're capable of doing with our API.

It's easy to imagine how valuable this data is once it's easy to obtain and scalable...

With Proxycurl, you'll have an extremely large amount of data available at your fingertips. It's easy, and it's scalable. We'll build with you.

Bypassing LinkedIn search limits is a concern of the past. You'll have nearly all of the data available on LinkedIn readily available.

It doesn't matter why you need the data.

Sales, recruiting, whatever. We can provide rich data about people and companies so that you don't have to focus on scraping or data-science teams.

Give us a try today (you won't regret it):

You can click right here to create your Proxycurl API account for entirely free.

If you have any questions about how we can specifically help you, don't hesitate to reach out to us at [email protected].


P.S. You don't have to be a software developer or programmer to use Proxycurl...

We also have a brand new simplified product, Sapiengraph.

It's like our Proxycurl API, but instead, you can pull the same fresh high-quality data directly into your spreadsheet on Google Sheets.

You can read the documentation on it right here.

Colton Randolph | Technical Writer
Share:

Subscribe to our newsletter

Get the latest news from Proxycurl

Featured Articles

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