Skip to main content

Reusable Python toolkit for LinkedIn lead collection, outreach automation, and lead analytics.

Project description

linkedin-autobot

linkedin-autobot is a Python SDK for LinkedIn lead generation workflows.

Created by Ayoub Ardem.

GitHub documentation and project page:

https://github.com/AyoubArdem/LinkedinAutomationBot

What It Does

  • Collect LinkedIn profile data from a profile URL or a person name
  • Return structured fields like title, location, about, and experience
  • Send LinkedIn connection requests
  • Analyze leads and recommend outreach strategies

Product Style

This package is designed to work well in a hosted-SDK model:

  • users install the package from PyPI
  • the package talks to a private backend
  • the sensitive implementation can stay private

It can also be used locally for direct automation workflows.

Install

pip install linkedin-autobot

Optional extras:

pip install "linkedin-autobot[automation]"
pip install "linkedin-autobot[analytics]"

Public Imports

Main public imports:

from linkedin_autobot import (
    AnalysisResult,
    LeadAnalyticsEngine,
    LinkedInAutobotClient,
    LinkedInBot,
    LinkedInCredentials,
    LinkedInProfile,
)

API Reference

LinkedInAutobotClient

Hosted SDK client for calling your private backend.

Constructor:

LinkedInAutobotClient(
    base_url: str | None = None,
    api_key: str | None = None,
    timeout: float = 30.0,
)

Methods:

  • collect_profile_by_name(name: str) -> LinkedInProfile
  • collect_profile_by_url(profile_url: str) -> LinkedInProfile
  • analyze_profile(profile: LinkedInProfile, prompt: str) -> AnalysisResult
  • send_connection_request(profile_url: str, message: str | None = None) -> bool

LinkedInBot

Local Playwright automation client.

Constructor:

LinkedInBot(credentials: LinkedInCredentials, headless: bool = False)

Methods:

  • login() -> None
  • visit_profile(profile_url: str) -> None
  • find_profile_url_by_name(name: str) -> str
  • collect_profile(profile_url: str) -> LinkedInProfile
  • collect_profile_by_name(name: str) -> LinkedInProfile
  • send_connection_request(profile_url: str, message: str | None = None) -> bool
  • close() -> None

LeadAnalyticsEngine

Local analysis engine.

Constructor:

LeadAnalyticsEngine(api_key: str | None = None, model: str = "gemini-1.5-pro")

Methods:

  • analyze(profile: LinkedInProfile, prompt: str) -> AnalysisResult

LinkedInCredentials

Input schema for local bot authentication.

Fields:

  • email: str
  • password: str

LinkedInProfile

Structured lead/profile object returned by collection methods.

Fields:

  • profile_url: str
  • full_name: str
  • title: str
  • location: str
  • about: str
  • experience: str
  • status: str
  • metadata: dict[str, str]

AnalysisResult

Structured analysis object returned by analytics methods.

Fields:

  • score: float
  • insights_strategic: str
  • recommended_outreach_ways: str
  • decision_maker_level: str
  • raw_response: str

Hosted SDK Example

from linkedin_autobot import LinkedInAutobotClient

client = LinkedInAutobotClient(
    base_url="https://your-backend-domain.com",
    api_key="your-api-key",
)

profile = client.collect_profile_by_name("Satya Nadella")
analysis = client.analyze_profile(
    profile,
    prompt="Score this lead and recommend outreach.",
)

print(profile.title)
print(analysis.score)

Local Example

from linkedin_autobot import LinkedInBot, LinkedInCredentials

credentials = LinkedInCredentials(
    email="your_login@example.com",
    password="your_password",
)

bot = LinkedInBot(credentials)
bot.login()
profile = bot.collect_profile_by_name("Satya Nadella")
bot.close()

print(profile.profile_url)
print(profile.title)

Main Features

  • Hosted SDK client support
  • Local Playwright automation support
  • Structured lead profile schema
  • Lead scoring and analytics support
  • API-key friendly backend integration

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linkedin_autobot-0.1.4.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

linkedin_autobot-0.1.4-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file linkedin_autobot-0.1.4.tar.gz.

File metadata

  • Download URL: linkedin_autobot-0.1.4.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for linkedin_autobot-0.1.4.tar.gz
Algorithm Hash digest
SHA256 5f7421993cc42686a4bb92b320a1f95dd1332b995b97268287d547525c367141
MD5 a98d27a23e45a63f1376e61ba0f3d6a3
BLAKE2b-256 da3dd590147e1736f2ca298f0749092f7498d3c42125cbcf6f274f9c0180247d

See more details on using hashes here.

File details

Details for the file linkedin_autobot-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for linkedin_autobot-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c6a9d372d0bd769f16ccce789c96136d7a26f7139d869ccefe4c4d0999dfcee1
MD5 6104db162ba179cc691b375dbb25692d
BLAKE2b-256 b8360ed0986cfb2a5a2065eb38f26ee0c18e1612121f18c0ecd443bee9c5a23a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page