Back to Guides
Getting Started
Your First Scrape
A detailed walkthrough of creating a source and running your first scraping job.
Understanding Sources
A source in Scrappy represents a website or webpage that contains contact information you want to extract. Before you can scrape leads, you need to configure a source.
Scrape Types
Scrappy supports three types of scraping:
- Static: For simple HTML pages. Fast and efficient. Use this for directories and listing pages that don't require JavaScript.
- Dynamic: For JavaScript-heavy sites. Uses a real browser (powered by Steel) to render pages before extracting data.
- API: For sites with public APIs. Directly fetches data from the API endpoint.
Not sure which to choose? Start with Static. If the data isn't being captured correctly, switch to Dynamic.
Configuring CSS Selectors
CSS selectors tell Scrappy where to find the data on each page. You can configure selectors for:
- Name (first name, last name, or full name)
- Email address
- Phone number
- Company name
- Job title
- LinkedIn profile URL
Finding Selectors
- Open the target webpage in your browser
- Right-click on the element you want to extract
- Click "Inspect" to open developer tools
- Look at the element's class, ID, or structure to build a selector
Example Selectors
/* Select by class */ .contact-name .email-link /* Select by ID */ #agent-email /* Select by attribute */ a[href^="mailto:"] a[href*="linkedin.com"] /* Nested selectors */ .card .contact-info .name
Running the Scrape
Once your source is configured:
- Click "Activate" to move the source from Draft to Active
- Click "Run Scrape" to start a new job
- Monitor progress in the Jobs tab
Job States
- Pending: Job is queued and waiting to start
- Running: Actively scraping pages
- Completed: Successfully finished
- Failed: Encountered an error (can be retried)
- Cancelled: Manually stopped
Reviewing Results
After the job completes, review your leads:
- Check that data is being extracted correctly
- Look for any empty or malformed fields
- Validate email addresses to ensure deliverability
Pro tip: Run a small test scrape first (limit pages) to verify your selectors are working before running a full scrape.
Troubleshooting
No leads extracted
- Check that your selectors match the page structure
- Try switching from Static to Dynamic scrape type
- Verify the source URL is correct and accessible
Job failed
- Check the error message in the job details
- Ensure the website is accessible
- Try reducing the scrape speed if getting rate limited
Incomplete data
- Review and refine your CSS selectors
- Check if data is loaded dynamically (use Dynamic type)
- Some fields may not be present on all pages