API Reference

Followerli API

The Followerli API lets you programmatically create Competitor Followers orders — LinkedIn follower intelligence extractions for any company page — and retrieve results without touching the web interface.

Base URL
https://followerli.com/api/v1
Auth
Bearer token
Format
JSON
Note: API access requires an Enterprise API key. See how FollowerLi works to get started, or sign in to manage an existing key.

Authentication

Every request must include your API key as a Bearer token in the Authorization header. Keys are prefixed with flw_live_.

curl https://followerli.com/api/v1/orders \
  -H "Authorization: Bearer flw_live_your_key_here"

• Keys are scoped to your account — they only access your own Competitor Followers orders.

• Treat keys like passwords. Never expose them in client-side code or public repos.

• Rotate keys anytime from the dashboard. The old key is immediately invalidated.

Competitor Followers

A Competitor Followers order is a one-time extraction of LinkedIn followers from a company page, filtered and enriched to your ICP. Orders are asynchronous — you submit them, poll for completion, then download or stream the results.

pending
processing
completed
or
cancelled
POST/api/v1/orders

Create a Competitor Followers Order

Submits a new extraction. Returns immediately with a pending drop ID — processing happens asynchronously. Poll the retrieve endpoint to track progress.

Request body
companyUrlrequired
string
Full LinkedIn company page URL (e.g. https://www.linkedin.com/company/openai)
followerCount
integer | null
Number of followers to extract (100–10,000,000). Pass null to extract all followers. Defaults to 1,000.
planType
"basic" | "advanced"
basic = LinkedIn profiles only ($4.50/1k). advanced = profiles + verified work emails ($45/1k). Defaults to "basic".
dropName
string
Optional label for internal tracking (e.g. "OpenAI Q3 Prospecting").
Request
curl -X POST https://followerli.com/api/v1/orders \
  -H "Authorization: Bearer flw_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "companyUrl": "https://www.linkedin.com/company/openai",
    "followerCount": 5000,
    "planType": "basic",
    "dropName": "OpenAI Q3 Prospecting"
  }'
Response 201 Created
{
  "order_id": "FL-1043-3148",
  "status": "pending",
  "status_url": "https://followerli.com/api/v1/orders/FL-1043-3148",
  "submitted_at": "2026-05-25T14:32:00.000Z"
}
GET/api/v1/orders/:drop_id

Retrieve a Competitor Followers Order

Returns the current status and, when completed, download URLs. Poll this endpoint every 60 seconds until the status is completed or cancelled. Typical delivery time is 12–48 hours.

Request
curl https://followerli.com/api/v1/orders/FL-1043-3148 \
  -H "Authorization: Bearer flw_live_your_key_here"
Response — pending
{
  "order_id": "FL-1043-3148",
  "status": "pending",
  "submitted_at": "2026-05-25T14:32:00.000Z",
  "record_count": 0
}
Response — completed
{
  "order_id": "FL-1043-3148",
  "status": "completed",
  "submitted_at": "2026-05-25T14:32:00.000Z",
  "record_count": 4987,
  "results": {
    "download_url": "https://followerli.com/api/v1/orders/FL-1043-3148/download",
    "sheet_url": "https://docs.google.com/spreadsheets/d/..."
  }
}
Polling pattern
# Poll every 60s until completed
while true; do
  STATUS=$(curl -s https://followerli.com/api/v1/orders/FL-1043-3148 \
    -H "Authorization: Bearer flw_live_your_key_here" | jq -r '.status')
  echo "Status: $STATUS"
  [ "$STATUS" = "completed" ] && break
  sleep 60
done
GET/api/v1/orders/:drop_id/download

Download results

Streams the completed data file (XLSX or CSV) directly. Returns 404 if the drop is not yet completed. Use -L with curl to follow the redirect.

curl -L https://followerli.com/api/v1/orders/FL-1043-3148/download \
  -H "Authorization: Bearer flw_live_your_key_here" \
  -o audience_drop.xlsx
GET/api/v1/orders/:drop_id/results

Stream results (JSON)

Returns paginated JSON records instead of a file download. Useful for piping data directly into your CRM or enrichment pipeline.

Query parameters
page
integer
Page number (1-indexed). Defaults to 1.
limit
integer
Records per page. Max 100. Defaults to 100.
search
string
Optional keyword filter across name, headline, and company fields.
Request
curl "https://followerli.com/api/v1/orders/FL-1043-3148/results?page=1&limit=100" \
  -H "Authorization: Bearer flw_live_your_key_here"
Response
{
  "order_id": "FL-1043-3148",
  "record_count": 4987,
  "ingested_at": "2026-05-25T16:10:00.000Z",
  "page": 1,
  "limit": 100,
  "total": 4987,
  "records": [
    {
      "name": "Jane Smith",
      "headline": "VP of Sales at Acme Corp",
      "location": "San Francisco, CA",
      "linkedinUrl": "https://www.linkedin.com/in/janesmith",
      "email": "jane.smith@acme.com"   // Advanced plan only
    },
    ...
  ]
}

email field is only populated on Advanced plan drops.

• Results are available for 90 days after delivery.

Errors

All errors follow a consistent JSON shape. HTTP status codes map to standard semantics.

{
  "error": "Bad Request",
  "message": "companyUrl must be a valid URL"
}
200
OK
Request succeeded.
201
Created
Order created successfully.
400
Bad Request
Invalid parameters. Check the message field for details.
401
Unauthorized
Missing or invalid API key.
403
Forbidden
The drop belongs to a different account.
404
Not Found
Drop not found, or file not yet available.
429
Too Many Requests
Rate limit exceeded. Back off and retry.
500
Internal Server Error
Something went wrong on our end. Contact support.

Rate Limits

API requests are rate-limited per key. Exceeding limits returns a 429 Too Many Requests response.

Create Drop (POST)
10 requests / minute
Retrieve / Download / Results (GET)
120 requests / minute

Need higher limits? Contact us for enterprise rate limit increases.

Ready to build?

Learn how FollowerLi turns LinkedIn company followers into enriched lead lists — then automate the flow with our API.

Already have an account? Sign in to manage your API key.