Skip to content

road2empire/apollo-scraper-apify

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Apollo.io Data Scraper - Apify Actor

Apollo Scraper Free Tier License Version

A powerful and completely FREE Apify actor that scrapes contact data from Apollo.io lists. Extract names, emails, phone numbers, job titles, companies, and more with just a URL and page count!

πŸŽ‰ Converted from Chrome Extension to Cloud-Based Scraper!

πŸ‘‹ First time here? Read START_HERE.md to choose your path!
⚑ Want to start now? Jump to QUICK_START.md for 5-minute setup!

✨ Features

  • 🎯 Simple Input: Just provide an Apollo.io list URL and number of pages
  • πŸ’° Completely Free: Designed to run on Apify's free tier
  • πŸ“Š Rich Data: Extract first name, last name, email, phone, title, company, and more
  • ⚑ Fast & Reliable: Uses Playwright for stable scraping
  • πŸ”„ Rate Limiting: Configurable delays between pages to avoid blocks
  • πŸ“₯ Multiple Export Formats: Download as CSV, JSON, Excel, or HTML
  • πŸ›‘οΈ Proxy Support: Built-in Apify proxy support for better reliability

πŸ“– Documentation Index

Document Description For Who?
QUICK_START.md Get started in 5 minutes Everyone
SETUP_GUIDE.md Complete setup instructions Beginners
README.md Main documentation (this file) Everyone
USAGE.md Detailed usage & examples Users
DEPLOYMENT.md How to deploy to Apify DevOps
CONTRIBUTING.md How to contribute Developers
PROJECT_SUMMARY.md Technical overview Developers
CHANGELOG.md Version history Everyone

πŸš€ How to Use

Method 1: Using Apify Console (Easiest)

  1. Go to Apify: Visit apify.com and create a free account
  2. Create Actor: Click on "Actors" β†’ "Create new" β†’ "Import from Git"
  3. Import This Repo: Paste your repository URL
  4. Build & Run: Click "Build" and then "Start"

Method 2: Using Apify API

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({
    token: 'YOUR_APIFY_TOKEN',
});

const input = {
    url: "https://app.apollo.io/#/people?page=1",
    numberOfPages: 5,
    timeBetweenPages: 5
};

const run = await client.actor("YOUR_ACTOR_ID").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();

console.log(items);

Method 3: Run Locally

  1. Clone this repository

    git clone <your-repo-url>
    cd apollo-data-scraper
  2. Install dependencies

    npm install
  3. Set up input - Create a file input.json:

    {
      "url": "https://app.apollo.io/#/people?page=1",
      "numberOfPages": 5,
      "timeBetweenPages": 5
    }
  4. Run the actor

    npm start

πŸ“‹ Input Parameters

Parameter Type Required Default Description
url String βœ… Yes - Apollo.io list URL (must start with https://app.apollo.io/)
numberOfPages Integer βœ… Yes 1 Number of pages to scrape (1-100)
timeBetweenPages Integer ❌ No 5 Delay in seconds between pages (2-30)
proxyConfiguration Object ❌ No {useApifyProxy: true} Proxy settings for the scraper

Example Input

{
  "url": "https://app.apollo.io/#/people?finderViewId=123456&page=1",
  "numberOfPages": 10,
  "timeBetweenPages": 5
}

πŸ“€ Output Format

The actor saves data to an Apify dataset. Each contact is saved as:

{
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "email": "john.doe@company.com",
  "phone": "+1 (555) 123-4567",
  "title": "Software Engineer",
  "company": "Tech Corp"
}

Export Options

You can download the scraped data in multiple formats:

  • CSV - Perfect for Excel and Google Sheets
  • JSON - For developers and APIs
  • Excel - Native XLSX format
  • HTML - For viewing in browser
  • RSS - For feed readers

πŸ’‘ Tips for Best Results

  1. Start Small: Test with 1-2 pages first to ensure your URL works
  2. Use Delays: Keep timeBetweenPages at 5+ seconds to avoid rate limiting
  3. Check URL: Make sure you're logged into Apollo.io and the URL is accessible
  4. Free Tier: On Apify's free tier, you get $5/month credit which is enough for thousands of contacts
  5. Proxy Usage: Enable Apify proxy for better reliability (included in free tier)

πŸ†“ Running on Free Tier

This actor is optimized to run on Apify's free tier:

  • Free Credits: $5/month (plenty for most use cases)
  • Memory: Uses minimal memory (256 MB is enough)
  • Runtime: Efficient scraping to minimize compute time
  • Storage: Datasets are free on Apify

Estimated Costs (on free tier):

  • Scraping 100 contacts β‰ˆ $0.01-0.02
  • Scraping 1,000 contacts β‰ˆ $0.10-0.20
  • With $5 free monthly credit, you can scrape 20,000-50,000 contacts/month for FREE!

⚠️ Important Notes

Authentication Required

You need to be logged into Apollo.io for this scraper to work. There are two ways to handle this:

Option 1: Manual Login (Recommended for Testing)

  1. Run the actor in headed mode (set headless: false in main.js)
  2. The browser will open - log into Apollo.io manually
  3. The scraper will then access your lists

Option 2: Using Cookies (For Production)

  1. Log into Apollo.io in your browser
  2. Export your cookies using a browser extension
  3. Add cookie support to the actor (modify main.js to inject cookies)

Legal & Ethical Use

  • βœ… Only scrape data you have permission to access
  • βœ… Respect Apollo.io's Terms of Service
  • βœ… Use reasonable delays between requests
  • βœ… Don't overload their servers
  • ⚠️ This tool is for personal/research use
  • ❌ Don't use for spam or unauthorized purposes

πŸ› οΈ Development

Project Structure

apollo-data-scraper/
β”œβ”€β”€ actor.json           # Actor configuration
β”œβ”€β”€ INPUT_SCHEMA.json    # Input field definitions
β”œβ”€β”€ main.js             # Main scraping logic
β”œβ”€β”€ package.json        # Dependencies
β”œβ”€β”€ Dockerfile          # Docker configuration
└── README.md           # This file

Key Dependencies

  • apify (^3.1.0) - Apify SDK for actor development
  • playwright (^1.40.0) - Browser automation

Customization

You can modify main.js to:

  • Extract additional fields from the table
  • Change the data structure
  • Add custom filters
  • Implement different scraping strategies

πŸ› Troubleshooting

Issue Solution
"No table found" Make sure you're logged into Apollo.io and the URL is valid
"No data scraped" Check if the page requires authentication or has changed structure
Rate limiting Increase timeBetweenPages to 10+ seconds
Timeout errors Increase timeout values in main.js
Actor fails to build Make sure all files are committed to your repository

πŸ“š Complete Documentation

πŸ“Š Comparison with Browser Extension

Feature Browser Extension Apify Actor
Installation Chrome only Works anywhere
Automation Manual clicks Fully automated
Scheduling No Yes (free schedules)
API Access No Yes
Large Datasets Slow Fast & parallel
Cost Free Free tier available
Reliability Browser dependent Cloud-based

πŸ‘‰ See PROJECT_SUMMARY.md for detailed comparison

🀝 Contributing

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests
  • Improve documentation

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“¬ Support


Made with ❀️ for the data community

Disclaimer: This tool is for educational and research purposes. Always respect website terms of service and data privacy laws.

About

Apollo.io Free Account Scraper - Apify Actor. Scrapes Apollo.io with 100% free accounts, no paid API required. Extract contacts, companies, and search results forever!

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 65.1%
  • PowerShell 16.4%
  • Batchfile 10.9%
  • HTML 6.4%
  • Dockerfile 1.2%