Claude Skills for Sales: Website Scraper Tool Guide
Mihaela
September 4, 2026
|20 min read
What a website scraper does and why sales teams need one
A website scraper is a program that automatically extracts data from a webpage and turns it into a structured file, like a spreadsheet. It reads the page’s underlying code, pulls out specific fields you define (names, titles, emails, company info), and exports them into rows and columns you can actually use.
For sales teams, that’s the whole appeal. You’ve probably spent hours copying names and titles from LinkedIn tabs into a spreadsheet by hand. A scraper compresses that into one automated step, usually landing in a CSV you can import straight into your CRM or outreach tool.
- Data extraction: the scraper identifies and pulls the fields you define, like job titles or email addresses
- Structured output: raw page content becomes something you can sort, filter, and search
- Repeatability: once set up, the same scrape runs across hundreds of pages without you touching each one
How website scraping works
Scraping breaks down into two steps: fetching the page, then pulling out what you need. Understanding both helps you troubleshoot when a scrape doesn’t return what you expected.
Extraction and parsing
First, the scraper sends a request to the target page, similar to what happens when you type a URL into your browser. The server responds with the page’s HTML, the raw code containing all the visible text, images, and structure.
The scraper then parses that HTML into a structure it can navigate, sometimes called a DOM tree. Parsing just means mapping out the page (headings, tables, links) so the tool knows exactly where to look for the data you asked for. Skip this step, and you’re left with a wall of code and no way to locate anything useful.
Output formats and data structuring
Once the scraper has pulled the data, it cleans it up: stripping HTML tags, fixing text formatting, and organizing everything into a usable file. Which format makes sense depends on what you’re doing with the data next.
Format | Best for | Sales use case |
|---|---|---|
CSV | Spreadsheet review, CRM imports | Upload directly to HubSpot, Salesforce, or lemlist |
JSON | API integrations, developer workflows | Pass data between tools programmatically |
Markdown | Documentation, AI context | Feed content into Claude or another LLM for analysis |
For most sales workflows, CSV is the format you’ll reach for. It’s what your CRM expects, and it’s the default output for the lemlist Website Scraper Claude Skill (more on that shortly).
Types of website scraper tools
Not every scraper fits every job. The right pick depends on how technical you are, how much data you need, and how often you’ll run the task.
Browser extensions and no-code scrapers
Tools like Web Scraper (Chrome), Octoparse, or Browse AI run right in your browser. You click on the elements you want, and the extension builds the scraper for you.
They’re great for quick, small jobs. But once you’re past a few hundred records, or the site uses heavy JavaScript, you’ll likely hit walls that require a paid upgrade or manual workarounds.
Scraping APIs and developer frameworks
Frameworks like Python’s BeautifulSoup and Scrapy, or JavaScript’s Puppeteer, give developers full control over how a page gets fetched and parsed. They handle things like proxy rotation and JavaScript-heavy pages well.
The catch: someone has to write and maintain the code. Without engineering support, this route often creates more work than it saves.
AI-powered scrapers and Claude Skills
This category skips both the clicking and the coding. Instead, you describe what you want in plain English, and an AI agent handles the rest.
A Claude Skill is a plain-text instruction file, called SKILL.md, that tells Claude how to carry out a specific task, in this case, scraping. The lemlist Website Scraper Claude Skill lets you type something like “Scrape all contacts from this URL into a CSV with name, title, company, and email.” Claude reads the page, identifies the fields, and builds the file.
For teams without a developer on standby, this is the most direct path from a URL to a usable lead list.
How to pick the right scraper for your workflow
- One-off, small list: a browser extension gets it done, free and fast
- Recurring, large-scale extraction: a scraping API or framework, assuming you have dev support
- Prospecting without code: an AI-powered scraper or Claude Skill
- Full outbound automation: a Claude Skill paired with lemlist for scraping, enrichment, and campaign launch in one flow
How to scrape a website and export data to CSV
Here’s the workflow using the lemlist Website Scraper Claude Skill, step by step.
1. Choose your target URL and define your fields. Pick your source, a directory, a team page, an industry listing, and decide up front which columns you want (name, title, email, company, location). Skipping this leads to messy output with irrelevant data mixed in.
2. Install the skill. Head to the GitHub repo, clone it, and point Claude Desktop at the SKILL.md file through your MCP config. Setup usually takes under five minutes.
3. Run the scrape and check your CSV. Type a prompt specifying the URL and the columns you defined. Claude reads the page, pulls the data, and formats a CSV, one row per record, so spot-check a few entries against the original page before you trust it fully.
4. Handle pagination. Many directories spread results across dozens of pages. The skill follows “next page” links automatically, and for larger sites, sessions are resumable, so a timeout doesn’t mean starting over.
Using a website scraper for sales lead generation
Scraping only earns its place in your workflow when it’s tied to something specific you’re trying to find. A few use cases worth trying:
- Directories and industry listings: conference speaker lists, association pages, and award announcements often contain prospects you can filter by role or geography
- Company team pages: about pages and leadership bios give you names, titles, and context on what the company does, which is what makes your first message read like research instead of a template
- Job postings: a company hiring for “Head of Revenue Operations” is signaling it’s building out a team your product might support
- Site changes: new customer logos or pricing updates on a prospect’s site often mean they’re more likely to respond right now
That last point is worth dwelling on. Timing matters as much as targeting, and manually checking competitor sites for changes isn’t sustainable at scale. lemlist’s intent signal agents can automate that monitoring, surfacing these moments and adding leads to campaigns with messaging tied to the trigger.
How to clean and enrich scraped data before outreach
A scraped CSV is a starting point, not something you send from directly. Raw scrapes typically carry duplicates, inconsistent formatting, and contact info nobody’s verified yet.
- Deduplication: removing repeated records from overlapping pages
- Format standardization: normalizing job titles (“VP Sales” vs. “Vice President of Sales”) and phone formats
- Email verification: checking addresses at the SMTP level, since syntax checks alone miss the real problems
- Company matching: linking contacts to the right CRM record so nothing lands in the wrong account
lemlist’s data enrichment agents handle this automatically, pulling verified emails and LinkedIn context from multiple providers and matching contacts to company records.
Tip: if you import scraped leads into lemlist, the platform flags unverified emails before you send, protecting your sender reputation. You can enrich missing fields right inside the campaign builder.
Web scraping legal and ethical guidelines
The legality question comes up almost immediately, and the honest answer has some nuance to it.
What the law says about scraping public data
The Ninth Circuit’s ruling in hiQ Labs v. LinkedIn held that the Computer Fraud and Abuse Act’s “without authorization” clause doesn’t apply to publicly available data, since there’s no access permission to violate in the first place (California Lawyers Association). That said, creating an account and agreeing to a site’s terms of service is a different situation entirely. Scraping in violation of those terms is a contract issue, separate from the CFAA question (LegalClarity).
Robots.txt and rate limits
Robots.txt is a file that tells automated tools which pages a site allows and disallows. Checking it before scraping is a baseline practice, and throttling your request rate matters too, since hammering a server with requests can degrade the site for actual visitors.
GDPR considerations
Scraping personal data belonging to EU residents brings GDPR into play. For B2B prospecting, “legitimate interest” is often the legal basis teams rely on, though the specifics depend on your use case. lemlist is GDPR compliant on the outreach side, but the data collection step is worth a conversation with your legal team if you’re targeting the EU.
Turn scraped prospect data into outbound campaigns
A clean CSV only matters once it turns into real conversations. That’s the last mile: getting leads from spreadsheet to sequence.
With lemlist, you upload your CSV and launch multichannel sequences across email, LinkedIn, calls, and SMS from one workflow. It syncs with HubSpot and Salesforce so records stay current, and a unified inbox lets you manage replies no matter which channel or mailbox they came through. lemwarm, included with every seat, keeps your deliverability steady even when you’re sending at scale.
The full path looks like this: scrape with the Claude Skill, enrich in lemlist, launch the campaign, manage replies in one inbox. What used to eat 45 minutes of tab-hopping now takes a couple of minutes.
Start a 14-day free trial, no credit card required, cancel anytime.
FAQs about website scrapers
Is web scraping detectable by target websites?
Yes. Servers can spot patterns like unusually fast page loads or repeated requests from a single IP. Throttling requests and rotating IPs reduces visibility, though detection methods keep evolving.
Yes. Servers can spot patterns like unusually fast page loads or repeated requests from a single IP. Throttling requests and rotating IPs reduces visibility, though detection methods keep evolving.
Can ChatGPT or Claude scrape a website in real time?
Not on their own. Claude can run real-time scraping when connected to a Claude Skill (like the lemlist Website Scraper) or an MCP server that provides web fetching tools.
Not on their own. Claude can run real-time scraping when connected to a Claude Skill (like the lemlist Website Scraper) or an MCP server that provides web fetching tools.
What’s the difference between web scraping and web crawling?
Crawling discovers and indexes pages across a site, which is what search engines do. Scraping pulls specific data from those pages into a structured file like CSV or JSON.
Crawling discovers and indexes pages across a site, which is what search engines do. Scraping pulls specific data from those pages into a structured file like CSV or JSON.
How many pages can a website scraper handle in one session?
It varies by tool. Browser extensions typically manage tens of pages, scraping APIs handle thousands, and AI skills like the lemlist Website Scraper support resumable sessions that work through large paginated sites over multiple runs.
It varies by tool. Browser extensions typically manage tens of pages, scraping APIs handle thousands, and AI skills like the lemlist Website Scraper support resumable sessions that work through large paginated sites over multiple runs.
What a website scraper does and why sales teams use one
A website scraper is a program that automatically extracts data from a website. You point it at a web page, and it accesses the page, interprets the underlying code, and pulls out the specific information you want. (What is web scraping? Complete guide to how it works.) Instead of copying names, titles, and company details from browser tabs into a spreadsheet by hand, a scraper does that work in seconds.
For sales teams, the appeal is practical. You likely spend hours each week researching prospects across directories, company sites, and LinkedIn profiles. A website scraper compresses that manual copy-paste cycle into a single automated step, giving you a structured file (typically a CSV) that you can import directly into your CRM or outreach tool.
- Data extraction: the scraper identifies and pulls the specific fields you define, like job titles, company names, or email addresses
- Structured output: raw page content becomes rows and columns you can work with in a spreadsheet or database
- Repeatability: once configured, the same scrape runs across hundreds of pages without you touching each one
How website scraping works
Web scraping is the automated process of extracting structured data from websites. A web scraper works by fetching a web page, parsing the underlying HTML or JavaScript, extracting specific data fields, and exporting that information into usable formats like JSON or CSV. (What Is Web Scraping? How It Works in 2026) Let’s walk through the two core steps.
Extraction and parsing
First, the scraper sends an HTTP request to the target website, the same kind of request your browser makes when you visit a URL. The web server responds with the page’s HTML code, the raw markup that contains all the visible content, metadata, and structure. (How web scraping works and is used by businesses …)
Next, the scraper parses the HTML into a DOM tree. This step creates a blueprint of the page’s structure (headings, paragraphs, tables, links) so the scraper can target specific elements. (How web scraping works and is used by businesses …) “Parsing” just means breaking the page into a structured map your scraper can navigate. Without it, you’d have a wall of code with no way to locate what you want.
Output formats
The scraper then cleans the extracted data, removing HTML tags, normalizing text, and converting data types, before storing it in a structured format. (How web scraping works and is used by businesses …) Which format depends on your use case:
Format | Best for | Sales use case |
|---|---|---|
CSV | Spreadsheet review, CRM imports | Upload directly to HubSpot, Salesforce, or lemlist |
JSON | API integrations, developer workflows | Pass structured data between tools programmatically |
Markdown | Documentation, AI context | Feed scraped content into Claude or other LLMs for analysis |
Types of website scraper tools
The right website scraper depends on your technical comfort level, the volume of data you’re working with, and how often you’ll repeat the task. Here’s how the main categories break down.
Browser extensions and no-code scrapers
Browser extensions run directly in Chrome, Firefox, or Edge and let you scrape visible data with minimal setup. You click elements on the page to define what data to extract, and the extension generates a scraper automatically. They work well for one-off tasks or small datasets, though they’re limited to what you can see and interact with manually. (How web scraping works and is used by businesses …)
Tools like Web Scraper (Chrome), Octoparse, and Browse AI fall here. The trade-off: scaling past a few hundred records usually means manual pagination or a paid upgrade.
Scraping APIs and developer frameworks
Programming frameworks like Python’s BeautifulSoup, Scrapy, or JavaScript’s Puppeteer and Playwright give developers full control. You write custom code that defines exactly how to fetch, parse, and extract data. (How web scraping works and is used by businesses …)
These tools handle proxy rotation, anti-bot evasion, and JavaScript-rendered pages well. However, they require a developer to build and maintain the scraper. If you don’t have engineering support, this category creates more overhead than it saves.
AI-powered scrapers and Claude Skills
The newest category flips the model entirely. Instead of clicking through a visual builder or writing code, you describe what you want in plain English and an AI agent handles the extraction.
Claude Skills are a good example. A Claude Skill is a plain-text instruction file (called SKILL.md) that tells Claude how to perform a specific multi-step task. The lemlist Website Scraper Claude Skill, available on GitHub, lets you type a prompt like “Scrape all the contacts from this URL and export them to a CSV with name, title, company, and email columns.” Claude then reads the page structure, identifies the fields, and generates the output file.
For sales teams without coding resources, this is the most direct path from URL to lead list.
How to pick the right scraper for your workflow
- One-off, small list: browser extension (free, fast, no setup)
- Recurring large-scale extraction: scraping API or framework (requires dev resources)
- Sales prospecting without coding: AI-powered scraper or Claude Skill (natural language input, CSV output)
- Full outbound automation: Claude Skill paired with lemlist for scraping, enrichment, and campaign launch in one flow
How to scrape a website and export data to CSV
Here’s the step-by-step workflow using the lemlist Website Scraper Claude Skill.
1. Choose your target URL and define data fields
Pick the source you want to scrape: a business directory, a company team page, an industry association member list. Before running anything, write out the exact columns you want in your output (name, title, email, company, URL, location). Skipping this step leads to messy CSVs with irrelevant data mixed in.
2. Install the Website Scraper Claude Skill
Go to the GitHub repo, clone it, and point Claude Desktop at the SKILL.md file via your MCP config. The SKILL.md file tells Claude what the skill does, what inputs it accepts, and how to structure its output. Setup typically takes under five minutes.
3. Run the scrape and review your CSV
Type a prompt that specifies the URL and your desired columns. Claude reads the page structure behind the scenes, identifies the right elements, extracts the data, and formats a CSV with one row per record. Open the output and spot-check a few rows against the original page to confirm accuracy.
4. Handle pagination and multi-page sites
Many directories split results across dozens of pages. The skill detects paginated results and follows “next page” links automatically. For larger sites, you can also use sitemap-based scraping. Sessions are resumable, so if a job times out, you pick up where you left off rather than starting from scratch.
Using a website scraper for sales lead generation
Scraping becomes genuinely useful when you connect it to a specific prospecting workflow. Here are four practical use cases.
Directories and industry listings. Conference speaker lists, association member pages, award winner announcements, and vertical-specific directories all contain pre-qualified prospects you can scrape by geography or role.
Company team pages. About pages and leadership bios give you decision-maker names, titles, and company context (what they do, who they serve). That context is what makes your first message sound like research, not a template.
Job postings. If a company is hiring for a role your product supports, that’s a buying signal. Scraping job boards for specific titles (like “Head of Revenue Operations” or “SDR Manager”) reveals companies actively building teams.
Competitor and prospect site changes. New customer logos, product launches, and pricing page updates all signal movement. These are moments when a prospect is more likely to respond. lemlist’s intent signal agents can automate this kind of monitoring, surfacing high-intent events and adding leads to campaigns with messaging tied to the exact trigger.
How to clean and enrich scraped data before outreach
Raw scraped data is a starting point, not an outreach-ready lead list. It typically contains duplicates, inconsistent formatting, and unverified contact info. Before you send anything, the data goes through a cleanup step.
- Deduplication: remove repeated records from overlapping pages or re-scrapes
- Format standardization: normalize job titles (“VP Sales” vs. “Vice President of Sales”) and phone number formats
- Email verification: validate addresses at the SMTP level (syntax checking alone catches the wrong problems)
- Company data matching: link contacts to the correct company record in your CRM so nothing lands in the wrong account
lemlist’s data enrichment agents handle this automatically. They pull verified emails, phone numbers, and LinkedIn context from multiple providers and match contacts to company records so your lead list is clean and campaign-ready without manual processing.
Tip: If you’re importing scraped leads into lemlist, the platform will flag unverified emails before you send. This protects your sender reputation, and you can enrich missing fields directly inside the campaign builder.
Web scraping legal and ethical guidelines
Legality is the question that comes up first, and the answer has more nuance than a simple yes or no.
What the law says about scraping public web data
The U.S. Ninth Circuit held that the CFAA’s “without authorization” provision does not apply when a website’s data is publicly available. On a publicly available website, the court found, there are no rules or access permissions to prevent access, and therefore accessing that publicly available data cannot violate the CFAA. (Ninth Circuit Holds Data Scraping is Legal in hiQ v. LinkedIn - California Lawyers Association)
However, any scraper who creates an account and agrees to a website’s terms of service has entered a contract, and scraping in violation of those terms is a straightforward breach. The distinction between accessing a site without an account (likely protected) and accessing it after agreeing to terms that prohibit scraping (potentially a contract violation) is where most of the remaining legal risk lives. (The LinkedIn Scraping Case: hiQ v. LinkedIn Explained - LegalClarity)
Respecting robots.txt and rate limits
Robots.txt is a file on a website that tells automated tools which pages they can and cannot access. Checking it before scraping is a baseline ethical practice. Beyond that, throttle your request rate so you don’t overload the target server. Sending hundreds of requests per second can degrade site performance for actual users.
GDPR and data protection compliance
If you’re scraping personal data belonging to EU residents, GDPR applies. For B2B prospecting, the typical legal basis is “legitimate interest,” but the specifics depend on your use case and processing activities. lemlist is GDPR compliant, which covers the outreach side, but talk to your legal team about the data collection step if you’re operating in or targeting the EU.
Turn scraped prospect data into outbound campaigns
A clean, enriched CSV is only useful if it becomes real conversations. The last step is getting those leads into live campaigns.
With lemlist, you upload your CSV and launch automated multichannel sequences (email, LinkedIn, calls, SMS) from one workflow. The platform syncs with HubSpot and Salesforce so records stay current across systems, and the unified inbox lets you manage every reply regardless of channel or sender. lemwarm, included with every seat, keeps your email deliverability healthy even when sending at scale across multiple mailboxes.
The full workflow looks like this: scrape with the Claude Skill → enrich in lemlist → launch your campaign → manage replies in one inbox. What used to take 45 minutes of tab-hopping and copy-paste compresses into a couple of minutes.
Start a 14-day free trial — no credit card required, cancel anytime.
FAQs about website scrapers
Is web scraping detectable by target websites?
Yes. Servers can identify automated requests through patterns like unusually fast page loads, repeated access from a single IP, or missing browser headers. Throttling requests, rotating IPs, and including realistic headers all reduce visibility, though detection methods continue to evolve.
Can ChatGPT or Claude scrape a website in real time?
Base ChatGPT and Claude don’t scrape arbitrary websites during a conversation. However, Claude can execute real-time scraping when connected to a Claude Skill (like the lemlist Website Scraper) or an MCP server that provides web fetching and parsing tools.
What is the difference between web scraping and web crawling?
It’s easy to confuse scraping with crawling. (What is web scraping? Complete guide to how it works.) Web crawling is discovering and indexing pages across a site (what search engines do). Web scraping is extracting specific data from those pages into a structured format like CSV or JSON. Crawling finds the pages; scraping pulls data from them.
How many pages can a website scraper handle in a single session?
It depends on the tool. Browser extensions typically handle tens of pages. Scraping APIs and frameworks scale to thousands. AI-powered skills like the lemlist Website Scraper Claude Skill support resumable sessions that can work through large paginated sites over multiple runs without starting over.
Content Marketing Manager @lemlist
WEBSITE
https://www.lemlist.com