Quick Actions
Recent Runs
All Runs
Profile
Change Password
Email Preferences
Danger Zone
Requesting deletion notifies our team to permanently remove your account. This cannot be undone.
API Keys
Transaction History
API Documentation
Authentication
All API requests require authentication via Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Base URL: https://api.leadlance.io/scraper
Start Scraping Run
/v2/runs/start
Start a new scraping run with Apollo or B2B sources
Apollo Request:
You may include your apollo cookies (free trial or free plan) for personalized/improved scraping peformance. Get your cookies using EditThisCookie extension in your browser.
POST https://api.leadlance.io/scraper/v2/runs/start
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"source": "apollo",
"cookies": [{...}, {...}]
"url": "https://app.apollo.io/#/people?finderViewId=...",
"totalResults": 1000
}
Other B2B Request:
POST https://api.leadlance.io/scraper/v2/runs/start
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"source": "b2b",
"totalResults": 10000,
"filters": {
"personTitle": ["sales rep"],
"seniority": ["Chairman", "Founder"],
"functional": ["Analytics"],
"companyEmployeeSize": ["2 - 10", "11 - 50"],
"personCountry": ["United States"],
"contactEmailStatus": "verified",
"industry": ["Financial Services"],
"revenue": ["< 1M", "1M-10M"],
"businessModel": ["Product"]
}
}
LinkedIn Profile Request:
POST https://api.leadlance.io/scraper/v2/runs/start
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"source": "linkedin",
"profileUrls": [
"https://www.linkedin.com/in/profile1/",
"https://www.linkedin.com/in/profile2/",
"https://www.linkedin.com/in/profile3/"
],
"totalResults": 100
}
Response:
{
"success": true,
"runId": "user123_1234567890",
"source": "apollo",
"status": "started",
"message": "Scraping started successfully"
}
Get Run Status
/v2/runs/:runId
Get detailed information about a specific run
Example Request:
GET https://api.leadlance.io/scraper/v2/runs/user123_1234567890 Authorization: Bearer YOUR_API_KEY
Response:
{
"run": {
"run_id": "user123_1234567890",
"user_id": "user123",
"source": "apollo",
"url": "https://app.apollo.io/#/people?...",
"status": "running",
"total_results": 1000,
"total_collected": 450,
"total_duplicates": 23,
"download_url": null,
"started_at": "2025-01-03T10:30:00Z",
"completed_at": null,
"error_message": null
}
}
List All Runs
/v2/runs?limit=50&offset=0
List all runs with pagination
Query Parameters:
limit(optional): Number of results per page (default: 50)offset(optional): Pagination offset (default: 0)
Example Request:
GET https://api.leadlance.io/scraper/v2/runs?limit=50&offset=0 Authorization: Bearer YOUR_API_KEY
Response:
{
"runs": [
{
"run_id": "user123_1234567890",
"source": "apollo",
"status": "completed",
"total_collected": 1000,
"total_duplicates": 45,
"started_at": "2025-01-03T10:30:00Z",
"completed_at": "2025-01-03T11:45:00Z"
}
],
"total": 15,
"limit": 50,
"offset": 0
}
Download Results
/v2/runs/:runId/download
Download completed run results as CSV file
Example Request:
GET https://api.leadlance.io/scraper/v2/runs/user123_1234567890/download Authorization: Bearer YOUR_API_KEY
Response:
Returns a CSV file download with all collected leads data
Error Responses:
// Run not completed yet
{ "error": "Run is not completed yet" }
// No file available
{ "error": "No download available" }
Cancel Run
/v2/runs/:runId/cancel
Cancel an active running scrape
Example Request:
POST https://api.leadlance.io/scraper/v2/runs/user123_1234567890/cancel Authorization: Bearer YOUR_API_KEY
Response:
{
"success": true,
"message": "Run cancelled successfully"
}
Error Response:
{ "error": "Run is not active" }
Supported Sources
- apollo - Apollo (Requires search URL) - $2 per 1k leads
- b2b - Other B2B sources with advanced filtering - $1.5 per 1k leads
- linkedin - LinkedIn profile scraping (Requires array of profile URLs) - $5-8/1k profile
Important Notes
- Email generation is automatically enabled for all runs
- Each lead costs from 1 credit varies per source.
- Concurrent Runs: You can run multiple scrapes simultaneously using different API keys (1 active run per API key)
- Run results are available for download immediately after completion
Status Values
running- Scrape is currently in progresscompleted- Scrape finished successfullyfailed- Scrape encountered an errorcancelled- Scrape was cancelled by user