Skip to main content
Piloterr
Back to blog
January 19, 2024

How to Get Latest Linkedin Posts or Activities with an API ? [2025]

In the fast-paced world of professional networking, staying updated with the latest activities/posts on LinkedIn can be a crucial aspect for many businesses and individuals. As a developer, leveraging Piloterr's API to access these activities not only keeps you informed but also opens up a plethora of opportunities for data analysis, trend monitoring, and targeted networking. In this comprehensive guide, we'll dive into how to harness the Piloterr API to fetch the most recent activities.

Use the LinkedIn Posts API or the full LinkedIn Scraping API for structured output.

The script we're sharing with you describes a method for retrieving LinkedIn activities matching specific keywords or hashtags, using the APIs provided by Piloterr.

How to run the code?

  1. Copy the code
  2. Create a new file get_linkedin_activities_from_google.py
  3. Replace the API token with your own
  4. Replace QUERY with your sector, a business topic or any other subject you wish to analyze
  5. Run the script with py get_linkedin_activities_from_google.py
Python
import requests

PILOTERR_API_KEY = 'YOUR-TOKEN-API-REPLACE-ME'
QUERY = 'Formation'

def get_linkedin_post_details(known_url: str):
    api_url = "https://piloterr.com/api/v2/linkedin/post/info"
    headers = {
        "x-api-key": PILOTERR_API_KEY
    }
    params = {
        "query": known_url
    }
    response = requests.get(
        url=api_url,
        headers=headers,
        params=params
    )
    if response.status_code == 200:
        return response.json()
    else:
        return "Error: Unable to fetch data"

def get_linkedin_post_url_from_google(query: str):
    google_api_url = "https://piloterr.com/api/v2/google/search"
    headers = {
        "x-api-key": PILOTERR_API_KEY
    }
    data = {
        "query": query
    }
    response = requests.post(
        url=google_api_url,
        headers=headers,
        json=data
    )

    if response.status_code == 200:
        search_results = response.json()['organic_results']

        # Extract LinkedIn URL from search results
        for result in search_results:
            if 'linkedin.com/posts' in result['link']:
                posts.append(result['link'])
        return "LinkedIn URL not found in search results"
    else:
        return "Error: Unable to perform search"

# Example usage
posts = []
search_query = f"site:linkedin.com inurl:posts after:2023-01-01 besoin AROUND(5) {QUERY}"
linkedin_url = get_linkedin_post_url_from_google(search_query)

print(f"Count of LinkedIn posts found: {len(posts)}. Fetching details...")

parsed_posts = []

for p in posts:
    get_post_details = get_linkedin_post_details(p)
    parsed_posts.append(get_post_details)

print(parsed_posts)

Here's a description of how the script works

The script uses a search query with specific parameters to find LinkedIn posts via Google Search. This is achieved using the Piloterr API for Google search.

It employs search operators like site:, inurl:, after:, and AROUND() to refine the search to specific LinkedIn posts containing the desired keywords within a certain date range.

2. Collecting Post Details from LinkedIn

Once the URLs of LinkedIn posts are obtained from Google Search results, the script uses another Piloterr API : Linkedin Post Info to fetch detailed information about each post.

This information can include the content of the post, author details, number of comments, likes, etc.

3. Script Execution:

  1. The script initializes an empty list posts to store the URLs of LinkedIn posts.
  2. It then forms a search query incorporating the desired keywords and search parameters.
  3. After obtaining the URLs, the script fetches details for each post and stores them in parsed_posts.

Result

JSON
[
  {
    "id": "7043937317610287104",
    "url": "https://www.linkedin.com/posts/najettefellache_i-strongly-believe-that...",
    "text": "I strongly believe that employees’ know-how is the company's most...",
    "author": {
      "url": "https://www.linkedin.com/in/najettefellache",
      "full_name": "Najette Fellache 🔆",
      "image_url": "https://media.licdn.com/dms/image/D4E03AQGvUg...",
      "profile_type": "person"
    },
    "hashtags": [],
    "image_url": "https://media.licdn.com/dms/image/C5622AQGsOm8y...",
    "like_count": 125,
    "comments_count": 4,
    "date_published": "2023-03-21T13:32:06.530Z",
    "total_engagement": 129,
    "mentioned_profiles": []
  }
]

Conclusion

The article explains how using specific keywords to search and analyze LinkedIn activities can be a powerful tool. This method helps in tracking trends, analyzing data, and improving networking. It keeps users up-to-date in their industry and supports strategic growth in the digital world.

More to read

Guides and news about web scraping, proxies, and data extraction.

Scraping

Web scraping for automotive: tracking car prices and parts across AutoScout24, Mobile.de, Leboncoin, and Autodoc

How automotive pricing platforms use scraping APIs to monitor used-car listings on AutoScout24, Mobile.de, and Leboncoin, and parts prices across Autodoc's 30+ national shops. Pipeline design, API examples, and a Python script.

Josselin Liebe
Josselin Liebe
Read
Scraping

Web scraping for brand protection: hunting counterfeits on AliExpress, Alibaba, and Amazon

How brand protection platforms use scraping APIs to detect counterfeit listings, capture seller evidence, and monitor re-listings across AliExpress, Alibaba, Amazon, and other marketplaces. Pipeline design, API examples, and a Python script.

Josselin Liebe
Josselin Liebe
Read
Scraping

Migrating from NetNut: what to do after the network takedown

Google took action against the NetNut/Popa proxy network alongside the FBI and Lumen. How to rethink your scraping stack without managing proxies yourself.

Josselin Liebe
Josselin Liebe
Read

Ready to get started?

Your web scraping API is one click away. Start with +500 credits, no infrastructure to set up, no proxies to manage, and no credit card required.

  • +500 credits
  • No credit card required
  • All endpoints included