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

  1. Open the target webpage in your browser
  2. Right-click on the element you want to extract
  3. Click "Inspect" to open developer tools
  4. 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:

  1. Click "Activate" to move the source from Draft to Active
  2. Click "Run Scrape" to start a new job
  3. 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