Home >Backend Development >Python Tutorial >Ultimate Guide To Linkedin Company API, With Full Python Code Samples
Ever felt like you're navigating a complex maze when working with the LinkedIn Company API? Trust me, I've been there. As a battle-hardened developer, I've wrestled with API limitations, rate limits, and data restrictions more times than I can count. But guess what? Those frustrations led to some pretty cool discoveries I'm about to share with you.
Whether you're a developer building the next big thing in HR tech, a data scientist with an insatiable appetite for corporate data extraction, or a startup founder aiming to disrupt the B2B landscape, you've just stumbled upon your treasure map to the LinkedIn data goldmine.
In this no-BS guide, we're going to:
But hey, why tell when we can show? Let's kick things off with a taste of what's possible. Imagine pulling comprehensive company data with just a few lines of code:
curl \ -G \ -H "Authorization: Bearer demo-bearer-token" \ 'https://nubela.co/proxycurl/api/linkedin/company' \ --data-urlencode 'url=https://www.linkedin.com/company/google/' \ --data-urlencode 'categories=include' \ --data-urlencode 'funding_data=include' \ --data-urlencode 'exit_data=include' \ --data-urlencode 'acquisitions=include' \ --data-urlencode 'extra=include' \ --data-urlencode 'use_cache=if-present' \ --data-urlencode 'fallback_to_cache=on-error'
Impressed? That's just the appetizer. This snippet showcases the power of a third-party LinkedIn API solution (in this case, our very own Proxycurl API). But don't worry. In this guide, we'll dive into both official and alternative solutions.
Whether you're dealing with API rate limits, wrestling with data restrictions, or simply looking for more efficient ways to access corporate insights, you’re in the right place. We'll explore both the official LinkedIn Company API and 3rd-party APIs like Proxycurl Company API and make you, the developer, the API hero your company deserves! Let’s get started!
When it comes to navigating the labyrinth of data about people and companies, you want a guide who's been in the trenches. That's us. At Proxycurl, we've spent years wrangling with APIs, decoding data structures, and pushing the boundaries of what's possible with LinkedIn data. We're talking about a platform that boasts 900 million users and 58.4 million companies - that's the scale of data we're dealing with. Here's why you can trust us:
But don't just take my word for it. Here's a quick success story:
By the way, our success stories aren't just impressive numbers on a spreadsheet - they're real-world game-changers, my friend! We're talking about businesses that were up against the wall with several limitations and came out swinging. From turbocharging HR tech to revolutionizing market intelligence, from supercharging B2B sales to... well, you get the picture. The possibilities are so vast, I'd need a novel to list them all (and, nobody wants that).
So, as we dive deeper into the world of LinkedIn Company APIs, remember: you're not just getting information - you're tapping into years of hands-on experience and proven results. We've been in the trenches, fought the API battles with scars (success stories) to prove it, and we're here to guide you to victory.
Before we dive in, let's set the scene. In the realm of LinkedIn Company APIs, there are two distinct territories:
Alright, fellow data enthusiasts, it's time to pull back the curtain on the official LinkedIn Company API. Think of it as your backstage pass to the world's largest professional network. Let's break down what this API is all about, what it can do, and who can benefit from it. Buckle up!
In simple terms, the official LinkedIn Company API is a set of programmatic interfaces that allow developers to access and retrieve data about companies listed on LinkedIn. It's like having a direct line to LinkedIn's vast database of corporate information, but with some rules and limitations (we'll get to those later, don't worry).
Now, what can you actually do with this API? Let's break it down:
It's worth noting that while this list might seem extensive, the actual data you can access is often more limited than you might expect. LinkedIn keeps a tight leash on its data, rightly so because the vast data on their platform is indeed extremely valuable, and which is why alternatives like Proxycurl have become so popular (but we're getting ahead of ourselves).
User Group | Use Cases | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- Building company research tools - Integrating LinkedIn data into existing applications - Creating custom dashboards for business intelligence |
||||||||||||||
Data scientists | - Analyzing company growth trends - Performing industry-wide comparisons - Building predictive models for business performance |
||||||||||||||
HR and recruitment professionals | - Enhancing applicant tracking systems with company data - Researching potential employers for candidates - Identifying companies with recent growth for targeted recruiting |
||||||||||||||
Sales and marketing teams | - Enriching CRM data with up-to-date company information - Identifying potential leads based on company characteristics - Creating targeted marketing campaigns based on company insights |
||||||||||||||
Business strategists and consultants | - Conducting competitive analysis - Identifying potential partners or acquisition targets - Tracking industry trends and company movements |
||||||||||||||
Entrepreneurs and startup founders | - Researching potential competitors or partners - Understanding industry landscapes - Identifying gaps in the market based on company data |
For a real-world example, let's say you're a developer, and your company is building a B2B sales intelligence platform. With the LinkedIn Company API, you could:
Sounds great, right? But here's where it gets tricky. While the LinkedIn Company API offers these capabilities in theory, accessing and using this data comes with its own set of challenges. Rate limits, data restrictions, and stringent application processes can turn your data dreams into an API nightmare faster than you can say "HTTP 429 Too Many Requests."
But don't worry! We'll dive into how to actually get your hands on this data, the nitty-gritty of making API calls, and yes, we'll tackle those pesky limitations head-on. And if you find yourself thinking, "There's got to be a better way," well... stay tuned. We might just have a solution that'll make you forget all about those API blues.
Alright, let's talk more about the elephant in the room - actually getting access to the official LinkedIn API. It's like the coolest club in town, but getting past the bouncer? That's where things get very tricky:
So, you still want in?
Alright, you brave soul, here are the 3 steps on how to get that coveted LinkedIn Partner status to get access to the LinkedIn Company API:
Time to put on your best suit and practice your elevator pitch:
Now, it’s time to head over to the LinkedIn Partner Program page and lay it all out:
LinkedIn’s Partner Program page showing the partner categories for a new application
Now, the waiting game begins. And by game, I mean weeks of nail-biting anticipation. Stay on your toes - LinkedIn might come back asking for more info.
But wait, there's more…
While you're twiddling your thumbs waiting weeks (or months) for that coveted LinkedIn Partner status, there's a "lite" version you can start exploring. Spoiler alert: it's basic and still also requires approval, but it might just scratch that API itch in the meantime.
Here are it's 5 steps:
Start creating your app here
Pro Tip: Be specific about your use case. LinkedIn likes to know exactly how you'll be using their data. It's like telling your partner why you have been out for 5 nights in a row - the more details, the better!
Verifying your app
Here you can request to get access to the API
Finally, you gotten access to the keys
Remember, my friend, while this guide is comprehensive, the official LinkedIn API world is as changeable as a chameleon on a disco floor. Always double-check the official LinkedIn docs for the latest info. It's like checking the weather before a picnic - better safe than sorry!
Congratulations! If you're reading this, you've somehow managed to scale the fortress walls of accessing a LinkedIn's developer account. You've survived the scrutiny of use-case evaluation and emerged victorious with your basic API access in hand. Now, it's time to claim your prize and dive into the data that awaits. Let’s turn that hard-earned access into pure data gold!
Before we dive into the code, let's get our hands dirty with some technical details. After all, knowing is half the battle!
Now that we've got the lay of the land, let's roll up our sleeves and dive into the code!
In the API world, access tokens are like VIP passes to an exclusive club. LinkedIn’s Company API uses the Client Credential Flow (2-legged OAuth) to grant this backstage pass (access token). Remember our Client ID and Secret we saved earlier? It’s time to trade them for an access token:
curl \ -G \ -H "Authorization: Bearer demo-bearer-token" \ 'https://nubela.co/proxycurl/api/linkedin/company' \ --data-urlencode 'url=https://www.linkedin.com/company/google/' \ --data-urlencode 'categories=include' \ --data-urlencode 'funding_data=include' \ --data-urlencode 'exit_data=include' \ --data-urlencode 'acquisitions=include' \ --data-urlencode 'extra=include' \ --data-urlencode 'use_cache=if-present' \ --data-urlencode 'fallback_to_cache=on-error'
Pro Tip: In my experience, it's crucial to treat your access token like your secret recipe for success. Store it securely and reuse it until it expires (typically after 30 minutes). After that, simply request a new one. Remember, sharing is caring, but not when it comes to access tokens!
Now that we have our VIP pass (access token), let's fetch some company data! We'll use the Company Search API and its keyword search feature to find some cool companies:
curl \ -G \ -H "Authorization: Bearer demo-bearer-token" \ 'https://nubela.co/proxycurl/api/linkedin/company' \ --data-urlencode 'url=https://www.linkedin.com/company/google/' \ --data-urlencode 'categories=include' \ --data-urlencode 'funding_data=include' \ --data-urlencode 'exit_data=include' \ --data-urlencode 'acquisitions=include' \ --data-urlencode 'extra=include' \ --data-urlencode 'use_cache=if-present' \ --data-urlencode 'fallback_to_cache=on-error'
This search_companies function will allow us to zoom in on the corporate landscape. Here's what makes it tick:
Now that we have our access token function and our API call function, let's combine them into a main function that will orchestrate our LinkedIn company search:
import requests # Your LinkedIn App's Client ID and Client Secret LINKEDIN_CLIENT_ID = 'your_client_id' LINKEDIN_CLIENT_SECRET = 'your_client_secret' def get_access_token(): """ Exchanges LinkedIn app's client credentials for an access token. """ token_url = 'https://www.linkedin.com/oauth/v2/accessToken' params = { 'grant_type': 'client_credentials', 'client_id': LINKEDIN_CLIENT_ID, 'client_secret': LINKEDIN_CLIENT_SECRET, } headers = { 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.post(token_url, headers=headers, data=params) if response.status_code == 200: access_token = response.json().get('access_token') if access_token: print(f"Access Token acquired: {access_token}") return access_token else: print("Access token not found in the response.") return None else: print(f"Error {response.status_code}: {response.text}") return None # Get the access token access_token = get_access_token()
Here, we use the query parameter to search for companies by keyword. In this case, we're searching for "LinkedIn Corporation", but feel free to replace it with any company name or industry keyword that piques your interest. Remember, you can adjust your search query, add or remove filters, and experiment with different parameters to refine your results. Don't be afraid to tweak the code and see what kind of company data you can uncover.
Remember, when using this API:
For the output, the actual fields returned may vary based on the company and the level of access your application has. Some fields might be missing or have different values. It's like a box of chocolates - you never know exactly what you're gonna get!
And there you have it! You've just made your first call to the LinkedIn Company API. Feel that rush? That's the power of data at your fingertips!
But wait, there's a plot twist...
If you’re using this official LinkedIn Company API and it's working flawlessly, congratulations! You're one of the chosen few. But for many of us mere mortals, we might hit a few roadblocks. Don't worry, what you're facing is common, and LinkedIn is notorious with the limitations they placed.
Imagine you're building a sales intelligence tool. You want to enrich your CRM with fresh LinkedIn corporate data daily. With these rate limits, you might be able to update a few hundred records a day. At that rate, by the time you finish updating your database, the first entries are already outdated!
Let's say you're a market researcher trying to understand industry trends. You want to analyze how companies in a specific sector have evolved over the past five years. With these data restrictions, you're left with gaps in your analysis that could skew your entire report.
Picture this: You've got a brilliant idea for an app that will revolutionize how people find jobs. You're pumped, you're coding away, and then... LinkedIn's terms of service bring your dreams crashing down.
Imagine you've built an AI-powered career advisory tool that uses LinkedIn’s corporate data to suggest optimal career paths. You're ready to launch, but LinkedIn decides your app is too similar to their own career insight features. Suddenly, your API access is revoked, and months of work go down the drain.
Wait a minute. Don't get me wrong - the official LinkedIn Company API is powerful. But it's like a temperamental sports car: high-performance but high-maintenance, too.
The plot thickens...
Now, imagine accessing comprehensive LinkedIn company data without rate limits breathing down your neck or extensive approval processes. Picture pulling historical data that lets you analyze trends over time. Envision building that revolutionary app without fear of suddenly losing API access. Sounds too good to be true, right?
Alright, folks, it's time to introduce you to the superhero of our entire story. Remember all those official LinkedIn Company API headaches we just talked about? Well, imagine if there was a magic wand that could make them disappear faster than you can say "rate limit."
Ladies and gentlemen, I welcome you to Proxycurl – your new best friend in the world of LinkedIn data.
Let's break down why Proxycurl is the Robin Hood of LinkedIn data, democratizing access for developers and associated companies everywhere:
But don't just take my word for it. Let's see the Proxycurl Company API in action!
Remember that company search through the official LinkedIn Company API we wrestled with earlier? Well, prepare to have your mind blown. Here's how easy it is with Proxycurl Company API:
curl \ -G \ -H "Authorization: Bearer demo-bearer-token" \ 'https://nubela.co/proxycurl/api/linkedin/company' \ --data-urlencode 'url=https://www.linkedin.com/company/google/' \ --data-urlencode 'categories=include' \ --data-urlencode 'funding_data=include' \ --data-urlencode 'exit_data=include' \ --data-urlencode 'acquisitions=include' \ --data-urlencode 'extra=include' \ --data-urlencode 'use_cache=if-present' \ --data-urlencode 'fallback_to_cache=on-error'
Look at that! Clean, simple, and powerful. Here's what makes our function shine:
Thought we were done? Nah…
With the use_cache parameter, you're now the master of time (well, data freshness, at least):
The fallback_to_cache parameter lets you decide what to do if fetching fresh data hits a snag:
By the way, we're just scratching the surface in this example – there's so much more to explore! But before you start coding away, let's take a step back and dive into some important details about Proxycurl API.
I know you’re ready to dive into the world of Proxycurl API and unleash the full potential of LinkedIn data, but before you jump in, let's cover some essential points to ensure you hit the ground running.
There, you'll find your randomly generated secret key. Guard this with everything you’ve got!
Authentication:
Proxycurl API uses bearer tokens for authentication.
Simply include your API key in the Authorization header, as we did in the code above.
Rate limits: Hold onto your hats because this is where things get exciting:
Up to 300 requests per minute
Burst up to 1500 requests every 5 minutes
Pro Tip: Handle 429 errors (rate limit) with exponential backoff. It's like doing a polite knock on the API's door instead of banging on it repeatedly.
No charge for errors (except 404s, which aren't really errors).
API Response Time:
The average response time is about 2 seconds. Faster than you can say "professional networking"!
Pro Tip: Make concurrent requests to maximize throughput. It's like opening multiple checkout lines at a supermarket.
Proxycurl API provides clear error codes and messages. No more cryptic errors that make you question your entire career choice!
Backward compatibility:
We promise not to pull the rug out from under you. We won't remove or change existing functionality without giving you a heads-up. Take that as a promise from us to you and yours!
Ladies and gentlemen, we've seen a basic code snippet of what the Proxycurl Company API can do, but that's just the tip of the iceberg. Remember that simple company lookup we did? Well, hang onto your keyboards because Proxycurl isn't just an API - it's your all-access pass to the corporate data universe.
Let's dive into 6 endpoints of the Proxycurl Company API that'll make you feel like a data wizard.
Think of the Company Profile Endpoint as your one-stop shop for all things company-related. With just 1 credit per successful request, you get a treasure trove of structured data about a company profile. It's like having a corporate crystal ball at your fingertips!
Pro Tip: This endpoint is perfect for enriching your CRM data or building detailed company databases. It's like turning a business card into a comprehensive company biography!
Want to know who's who in a company? The Employee Listing Endpoint has got you covered. At 3 credits per employee returned, you get access to a goldmine of employee data. It's powered by LinkDB, Proxycurl's comprehensive dataset of close to 500 million people and company profiles.
Pro Tip: Use this for competitive analysis or to identify key decision-makers in target companies. It's like having an org chart on steroids!
Sometimes, size does matter – especially when it comes to company data. This Employee Count Endpoint gives you the total employee count from various sources, all for just 1 credit per successful request. It's like having a corporate headcount clicker, but way more accurate!
Pro Tip: Great for market segmentation or identifying companies in specific growth stages. Watch those numbers grow!
They say a picture is worth a thousand words. Well, the Company Profile Picture Endpoint gives you that picture for free (after your first top-up)! It's a quick and easy way to add visual flair to your company data displays.
Pro Tip: Use this to enhance the UI of your company directories or business intelligence dashboards. Make your data look as good as it performs!
Playing detective with company data? The Company Lookup Endpoint is your magnifying glass. For 2 credits per successful request, you can resolve a company's LinkedIn profile from just a name, domain, or location. It's like turning a business card into a full LinkedIn profile!
Pro Tip: Perfect for verifying company information or enriching lead data in your sales processes. Sherlock Holmes, eat your heart out!
Last but not least, this employee search endpoint is your corporate talent scout. For 10 credits per successful request plus 6 per employee returned, you can search employees by job title. It's like having X-ray vision into a company's org chart!
Pro Tip: Ideal for recruitment firms looking for specific talent or sales teams targeting particular roles. Finding a needle in a corporate haystack has never been easier!
Now, I know what you're thinking: "This sounds great, but what sets these endpoints apart from the official LinkedIn Company API?" Well, my friend, here's the secret sauce. Imagine you're building a competitive intelligence tool. With these Proxycurl Company API’s endpoints, you could:
And the best part? You get all this with flexible pricing, no stringent rate limits, and data that could be fresher than your morning coffee! Because with Proxycurl, the sky's not the limit - it's just the beginning!
So, whether you're a startup founder looking to disrupt the market, a data scientist hungry for insights, or a developer building the next big thing for your company, Proxycurl's Company API has got your back. It's time to stop wrestling with API limitations and start unleashing the full power of LinkedIn data.
Now, it's time for the main event! In the red corner, we have the reigning champion, the official LinkedIn Company API. And in the blue corner, the challenger, Proxycurl's Company API. Let's break down this matchup and see who comes out on top.
Feature | LinkedIn API | Proxycurl API | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Strict (e.g., 100,000/day) | Flexible credit system | |||||||||||||||||||||||||||
Data Completeness | Limited fields | Comprehensive data fields | |||||||||||||||||||||||||||
Historical Data | Limited access | Extensive historical data | |||||||||||||||||||||||||||
Use Case Flexibility | Restricted by LinkedIn's TOS | Flexible for various applications | |||||||||||||||||||||||||||
Integration Complexity | Complex OAuth process | Simple API key authentication | |||||||||||||||||||||||||||
Pricing Model | Opaque, negotiation-based | Transparent, credit-based system | |||||||||||||||||||||||||||
Support | Limited, often automated | Dedicated human support | |||||||||||||||||||||||||||
Data Compliance | Strict usage guidelines | Ethical collection, flexible usage |
While the official LinkedIn API has been the go-to or top-of-mind solution for many, the industry has since shifted to favour such data enrichment API solutions such as our own Proxycurl API products. Judging from the intense matchup laid out in the table above, it's pretty clear who emerged the champion (ahem it's Proxycurl).
Now, I know what you might be thinking: "This all sounds great, but is it actually legal?" It's a fair question and one that deserves a thorough answer.
Proxycurl takes data compliance and ethical collection very seriously. We've gone to great lengths to ensure our practices are above board. Still worried? Don't just take my word for it.
Here are some resources that dive deep into the legal aspects:
These articles provide in-depth analyses of the legal landscape surrounding LinkedIn data collection and data usage generally. They're not just reassuring - they're educational!
Before we wrap up, let's take a quick look at some other powerful tools in the Proxycurl arsenal. These products work seamlessly with the Company API to provide a comprehensive B2B data solution.
Product | Use Cases | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Talent sourcing, sales lead generation | ||||||||||||||
Search API | Market research, competitor analysis | ||||||||||||||
Contact API | Direct outreach, email marketing | ||||||||||||||
School API | Education sector analysis, alumni networking | ||||||||||||||
Jobs API | Job market trends, recruitment strategies | ||||||||||||||
Customer API | Customer insights, retention strategies |
Thought we were done? There's more! Proxycurl offers even more solutions to supercharge your B2B data game:
Each of these tools can be integrated with Proxycurl’s Company API to create powerful, comprehensive B2B data solutions. Whether you're in sales, recruitment, market analysis, or any other field that relies on professional data, trust me, we definitely have a tool to supercharge your workflow.
Oh, and if you're hungry for more data-driven insights, check out our deep dive into CRM data enrichment. It's juicier than a gossip magazine and way more useful!
Whew, what a day! We've journeyed through the landscape of LinkedIn data, from the challenges of the official LinkedIn Company API to the liberating possibilities of Proxycurl. As we wrap up, let's recap the most important points.
So there you have it, my friend! We've demystified the process of accessing LinkedIn company data without the need for a secret handshake or sacrificing your firstborn to the API gods.
Remember, in the world of B2B data, knowledge truly is power. With Proxycurl, you're not just accessing data – you're unlocking insights that can drive your business forward, fuel innovation, and give you a competitive edge in your industry.
Whether you're a startup founder plotting world domination, a developer coding the next big thing in the B2B ecosystem, or a data scientist with an insatiable appetite for corporate data insights, Proxycurl is your key to unlocking the full potential of LinkedIn's vast data ecosystem.
Sign up for a Proxycurl account today and unlock the full potential of B2B data at your fingertips. You get 100 free credits if you register with a work email, 10 free credits if you use a personal email.
Whatever your next step, remember that we’re always here at hello@nubela.co to support you on your data journey.
Now, if you'll excuse me, I have some APIs to wrangle and data to conquer. So go forth, code fearlessly, and may your databases be ever full and your API calls always successful.
The above is the detailed content of Ultimate Guide To Linkedin Company API, With Full Python Code Samples. For more information, please follow other related articles on the PHP Chinese website!