Skip to main content

Submit SpiderPublicLinkedin Job

POST/api/v1/jobs/spiderPublicLinkedin/submit

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.

warning

LinkedIn Accounts Required

Unlike 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

payloadobjectrequired

Job configuration payload

priorityintegerdefault: 5

Job priority (0-10, higher = processed first).

Response

job_idstring

Unique job identifier (UUID format).

typestring

Always spiderPublicLinkedin.

statusstring

Initial status: queued.

created_atstring

Job creation timestamp (ISO 8601).

messagestring

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

{
"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)

typestring

Always company for company results.

public_idstring

LinkedIn company public ID.

namestring

Company name.

descriptionstring

Company description/about text.

websitestring

Company website URL.

industrystring

Primary industry (e.g., "Software Development").

company_typestring

Type (e.g., "Public Company", "Privately Held").

founded_yearinteger

Year founded.

specialtiesarray

List of company specialties.

headquartersobject

HQ location with city and country.

follower_countinteger

LinkedIn followers count.

employee_countinteger

Approximate employee count.

employee_rangestring

Employee range (e.g., "10001+", "201-500").

logo_urlstring

Original LinkedIn CDN logo URL.

logo_url_hostedstring

SpiderMedia hosted logo URL (permanent).

linkedin_urlstring

Full LinkedIn company URL.

Profile Results (get_profile)

typestring

Always profile for person results.

public_idstring

LinkedIn profile public ID.

first_namestring

First name.

last_namestring

Last name.

full_namestring

Combined full name.

headlinestring

Professional headline.

summarystring

Profile summary/about text.

locationstring

Location (e.g., "Greater Seattle Area").

industrystring

Industry field.

connectionsinteger

Connection count (500+ shown as 500).

current_companystring

Current company name.

current_positionstring

Current job title.

experiencearray

Work experience history with company, title, dates.

educationarray

Education history with school, degree, field of study.

skillsarray

List of skills.

profile_pic_urlstring

Original LinkedIn CDN photo URL.

profile_pic_url_hostedstring

SpiderMedia hosted photo URL (permanent).

linkedin_urlstring

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
info

Account Pool Scaling

Each 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"
warning

Account Warmup

New 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