POST
https://spideriq.ai
/
api
/
v1
/
jobs
/
spiderPublicLinkedin
/
submit
Submit SpiderPublicLinkedin Job
curl --request POST \
  --url https://spideriq.ai/api/v1/jobs/spiderPublicLinkedin/submit \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "payload": {
    "mode": "<string>",
    "public_id": "<string>",
    "linkedin_url": "<string>",
    "keywords": "<string>",
    "max_results": 123,
    "location": "<string>",
    "company": "<string>",
    "title": "<string>",
    "industry": "<string>",
    "store_logo": true,
    "include_posts": true,
    "test": true
  },
  "priority": 123
}
'
{
  "job_id": "<string>",
  "type": "<string>",
  "status": "<string>",
  "created_at": "<string>",
  "message": "<string>",
  "public_id": "<string>",
  "name": "<string>",
  "description": "<string>",
  "website": "<string>",
  "industry": "<string>",
  "company_type": "<string>",
  "founded_year": 123,
  "specialties": [
    {}
  ],
  "headquarters": {},
  "follower_count": 123,
  "employee_count": 123,
  "employee_range": "<string>",
  "logo_url": "<string>",
  "logo_url_hosted": "<string>",
  "linkedin_url": "<string>",
  "first_name": "<string>",
  "last_name": "<string>",
  "full_name": "<string>",
  "headline": "<string>",
  "summary": "<string>",
  "location": "<string>",
  "connections": 123,
  "current_company": "<string>",
  "current_position": "<string>",
  "experience": [
    {}
  ],
  "education": [
    {}
  ],
  "skills": [
    {}
  ],
  "profile_pic_url": "<string>",
  "profile_pic_url_hosted": "<string>"
}

Overview

SpiderPublicLinkedin extracts LinkedIn company and people profile data using the Voyager API (linkedin-api library). It requires authenticated LinkedIn accounts managed via the admin API, with built-in account rotation, warmup support, and rate limiting.
LinkedIn Accounts RequiredUnlike SpiderPublicInstagram, this worker requires authenticated LinkedIn accounts to function. Add accounts via the admin API before submitting jobs.

Best For

  • Extracting company information (size, industry, specialties, headquarters)
  • Getting people profiles (experience, education, skills)
  • Finding companies by keywords and industry
  • Finding people by keywords, location, company, or title
  • Building B2B lead databases with verified LinkedIn data

Operation Modes

SpiderPublicLinkedin supports four operation modes:
ModeDescription
get_companyFetch a single company profile
get_profileFetch a single person profile
search_companiesSearch for companies by keywords
search_peopleSearch for people with filters

Request Body

payload
object
required
Job configuration payload
priority
integer
default:"5"
Job priority (0-10, higher = processed first).

Response

job_id
string
Unique job identifier (UUID format).
type
string
Always spiderPublicLinkedin.
status
string
Initial status: queued.
created_at
string
Job creation timestamp (ISO 8601).
message
string
Confirmation message.

Example Requests

curl -X POST https://spideriq.ai/api/v1/jobs/spiderPublicLinkedin/submit \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "payload": {
      "mode": "get_company",
      "public_id": "microsoft"
    }
  }'

Example Response

201 Created
{
  "job_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "spiderPublicLinkedin",
  "status": "queued",
  "created_at": "2026-01-18T14:30:00.000000",
  "message": "Job submitted successfully"
}

Results Structure

Company Results (get_company)

type
string
Always company for company results.
public_id
string
LinkedIn company public ID.
name
string
Company name.
description
string
Company description/about text.
website
string
Company website URL.
industry
string
Primary industry (e.g., “Software Development”).
company_type
string
Type (e.g., “Public Company”, “Privately Held”).
founded_year
integer
Year founded.
specialties
array
List of company specialties.
headquarters
object
HQ location with city and country.
follower_count
integer
LinkedIn followers count.
employee_count
integer
Approximate employee count.
employee_range
string
Employee range (e.g., “10001+”, “201-500”).
logo_url
string
Original LinkedIn CDN logo URL.
logo_url_hosted
string
SpiderMedia hosted logo URL (permanent).
linkedin_url
string
Full LinkedIn company URL.

Profile Results (get_profile)

type
string
Always profile for person results.
public_id
string
LinkedIn profile public ID.
first_name
string
First name.
last_name
string
Last name.
full_name
string
Combined full name.
headline
string
Professional headline.
summary
string
Profile summary/about text.
location
string
Location (e.g., “Greater Seattle Area”).
industry
string
Industry field.
connections
integer
Connection count (500+ shown as 500).
current_company
string
Current company name.
current_position
string
Current job title.
experience
array
Work experience history with company, title, dates.
education
array
Education history with school, degree, field of study.
skills
array
List of skills.
profile_pic_url
string
Original LinkedIn CDN photo URL.
profile_pic_url_hosted
string
SpiderMedia hosted photo URL (permanent).
linkedin_url
string
Full LinkedIn profile URL.

Complete Results Examples

Company Result

{
  "success": true,
  "job_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "spiderPublicLinkedin",
  "status": "completed",
  "processing_time_seconds": 6.52,
  "data": {
    "type": "company",
    "public_id": "microsoft",
    "name": "Microsoft",
    "description": "Every company has a mission. What's ours? To empower every person and every organization on the planet to achieve more.",
    "website": "https://microsoft.com",
    "industry": "Software Development",
    "company_type": "Public Company",
    "founded_year": 1975,
    "specialties": ["Business Software", "Developer Tools", "Cloud Computing", "AI"],
    "headquarters": {
      "city": "Redmond",
      "country": "United States"
    },
    "follower_count": 22000000,
    "employee_count": 221000,
    "employee_range": "10001+",
    "logo_url": "https://media.licdn.com/dms/image/...",
    "logo_url_hosted": "https://media.spideriq.ai/client-cli_abc123/linkedin_company_microsoft.jpg",
    "linkedin_url": "https://www.linkedin.com/company/microsoft",
    "metadata": {
      "universal_name": "microsoft",
      "source": "linkedin_voyager_api",
      "has_hosted_logo": true
    }
  }
}

Profile Result

{
  "success": true,
  "job_id": "b2c3d4e5-f6g7-8901-bcde-fg2345678901",
  "type": "spiderPublicLinkedin",
  "status": "completed",
  "processing_time_seconds": 5.23,
  "data": {
    "type": "profile",
    "public_id": "satyanadella",
    "first_name": "Satya",
    "last_name": "Nadella",
    "full_name": "Satya Nadella",
    "headline": "Chairman and CEO at Microsoft",
    "summary": "As Chairman and CEO of Microsoft, I lead a team focused on...",
    "location": "Greater Seattle Area",
    "industry": "Computer Software",
    "connections": 500,
    "current_company": "Microsoft",
    "current_position": "Chairman and CEO",
    "experience": [
      {
        "title": "Chairman and CEO",
        "company": "Microsoft",
        "location": "Redmond, Washington",
        "start_date": {"year": 2014, "month": 2},
        "end_date": null,
        "description": null
      },
      {
        "title": "Executive Vice President, Cloud and Enterprise",
        "company": "Microsoft",
        "start_date": {"year": 2011},
        "end_date": {"year": 2014}
      }
    ],
    "education": [
      {
        "school": "University of Chicago Booth School of Business",
        "degree": "Master of Business Administration",
        "field_of_study": null
      },
      {
        "school": "University of Wisconsin-Milwaukee",
        "degree": "Master of Science",
        "field_of_study": "Computer Science"
      }
    ],
    "skills": ["Leadership", "Strategy", "Technology", "Cloud Computing"],
    "profile_pic_url": "https://media.licdn.com/dms/image/...",
    "profile_pic_url_hosted": "https://media.spideriq.ai/client-cli_abc123/linkedin_profile_satyanadella.jpg",
    "linkedin_url": "https://www.linkedin.com/in/satyanadella",
    "metadata": {
      "source": "linkedin_voyager_api",
      "has_hosted_photo": true
    }
  }
}

Search Results

{
  "success": true,
  "job_id": "c3d4e5f6-g7h8-9012-cdef-gh3456789012",
  "type": "spiderPublicLinkedin",
  "status": "completed",
  "processing_time_seconds": 8.15,
  "data": {
    "type": "company_search",
    "keywords": "AI startup San Francisco",
    "filters": {
      "industry": null
    },
    "total_results": 10,
    "results": [
      {
        "name": "OpenAI",
        "universal_name": "openai",
        "description": "OpenAI is an AI research and deployment company...",
        "industry": "Artificial Intelligence",
        "staff_count": 1500,
        "headquarters": {"city": "San Francisco", "country": "United States"},
        "logo_url": "https://media.licdn.com/..."
      }
    ],
    "metadata": {
      "source": "linkedin_voyager_api"
    }
  }
}

Processing Time

ConfigurationTypical Time
Get company5-8 seconds
Get profile5-8 seconds
Search (10 results)8-12 seconds
With logo/photo uploadAdd 2-4 seconds
With mobile proxyAdd 2-5 seconds

Rate Limiting

LinkedIn has strict rate limits:
Limit TypeThreshold
Safe requests per account per day30-50
Built-in delay between requests5-10 seconds
Session break every20-30 requests
Account Pool ScalingEach LinkedIn account provides ~50 requests/day. Add more accounts via the admin API to scale capacity.
AccountsDaily Capacity
130-50 profiles
5150-250 profiles
10300-500 profiles

Error Cases

No Accounts Available

{
  "success": false,
  "status": "failed",
  "error": "No available LinkedIn accounts. All accounts may be rate limited or exhausted."
}

Profile Not Found

{
  "success": false,
  "status": "failed",
  "error": "LinkedIn profile/company not found: invalidcompany123"
}

Rate Limited

{
  "success": false,
  "status": "failed",
  "error": "LinkedIn rate limit exceeded. Account user@example.com marked as rate limited."
}

Authentication Failed

{
  "success": false,
  "status": "failed",
  "error": "LinkedIn authentication failed. Account may need verification."
}

IP Blocked

{
  "success": false,
  "status": "failed",
  "error": "LinkedIn blocked the request. Mobile proxy required."
}

Admin Account Management

Before using SpiderPublicLinkedin, add LinkedIn accounts via the admin API:
# Add a new account
curl -X POST "https://spideriq.ai/api/v1/admin/linkedin/accounts" \
  -H "X-Admin-Key: $ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_email": "your-linkedin@example.com",
    "password": "your-password",
    "daily_request_limit": 50,
    "is_new_account": true
  }'

# List all accounts
curl "https://spideriq.ai/api/v1/admin/linkedin/accounts" \
  -H "X-Admin-Key: $ADMIN_KEY"

# Check account stats
curl "https://spideriq.ai/api/v1/admin/linkedin/accounts/stats" \
  -H "X-Admin-Key: $ADMIN_KEY"
Account WarmupNew accounts should use is_new_account: true to enable the warmup schedule (7-day ramp from 5 to 50 requests/day). This prevents triggering LinkedIn’s anti-bot detection.

Next Steps