Limited Time — Lifetime Access for just $99. Lock in before prices rise.

UScraper
Tutorials

How to Scrape Contact Details to CSV with UScraper

Scrape contact details from public URLs. Extract emails, phones and social links to CSV with UScraper local desktop app. No API or cloud required.

UScraper
June 21, 2026
8 min read
#how to scrape contact details#contact details scraper tutorial#scrape emails phone numbers#best contact details scraper#scrape social links from websites#contact scraper for lead generation#website contact scraper#email phone scraper#contact details to csv#local desktop app
How to Scrape Contact Details to CSV with UScraper

This tutorial shows how to scrape contact details from approved public URLs into CSV with the Contact Details Scraper template for UScraper. You will prepare a clean URL list, import the workflow, confirm the export path, run a short validation batch, and review emails, phone numbers, uncertain phone-like strings, and social profile links before using the file.

Before you start

Prerequisites and contact data rules

You need UScraper installed, the free template JSON, a local folder for exports, and a list of public pages you are allowed to inspect. The workflow is built for supplied URLs, not broad discovery. If your lead generation process starts with search results or directories, dedupe those URLs before the contact pass.

Keep compliance visible from the beginning. Public contact details can still be controlled by website terms, platform policies, privacy law, consent rules, anti-spam law, and robots directives. Do not scrape login-only pages, private dashboards, checkout flows, hidden popups, CAPTCHA-protected pages, or data you cannot manually access. If the CSV will support outreach, enrichment, resale, or model training, get legal review before the run.

Treat this as an operational tutorial, not legal advice. The safest habit is to collect modestly, keep source URLs, validate rows manually, and honor opt-out or deletion requests.


Workflow shape

What the contact details scraper does

The bundled JSON is the authoritative workflow definition:

Navigate through URLs -> Wait for Page Load -> Sleep
-> Inject JavaScript scroll marker -> Sleep -> Wait for body
-> Structured Export -> Loop Continue

The Navigate block contains the target URL list. The JavaScript step stores the starting URL and scrolls without clicking links, which can expose lazy-rendered contact sections while avoiding accidental navigation away from profile pages. Structured Export uses body as the row scope and writes one row per page in append mode.

Export areaColumnsValidation check
Source auditstart_url, domain, depth, referrer_url, current_urlConfirm every row can be traced back to the supplied URL and any redirect.
Email and phone signalsemails, phones, uncertain_phonesVerify strict phones separately from long number-like strings before outreach.
Social profilestwitter, youtube, facebook, linkedin, instagram, tiktokOpen a few exported links and remove share, login, or unrelated links if a source layout changed.

Runbook

1

Prepare approved URLs

Build a clean list of public company pages, contact pages, or public profiles. Remove duplicates, shortened links, private pages, and URLs that only work after a personal account action.

2

Import the template

Open Contact Details Scraper, download the JSON, and import it into UScraper.

3

Replace navigate.urls

In the Navigate block, replace the Octoparse X/Twitter, YouTube, and LinkedIn examples with your own URL list. Keep related source types in separate runs when possible.

4

Confirm the export path

In Structured Export, confirm contact-details-scraper.csv, headers, append mode, and the local save folder for this project.

5

Run a small batch

Run five URLs and keep the browser visible. Watch for redirects, login prompts, verification pages, slow JavaScript, and pages that publish no contact data.

6

Validate before scaling

Compare exported emails, phones, uncertain phones, and social links against the source pages. Fix the input list or selectors before adding more URLs.


Output

Contact details CSV columns

The output is intentionally audit-friendly: a reviewer can see which URL produced each contact signal and which values are uncertain.

ColumnMeaningReview rule
emailsUnique email-like strings found in rendered text or markupRemove generic, stale, or role addresses your use case should not contact.
phonesStricter phone matches using common 10-digit and international formatsNormalize formatting before CRM import.
uncertain_phonesLonger phone-like strings that may include extensions, IDs, or false positivesAlways review manually before use.
linkedin, instagram, youtube, facebook, twitter, tiktokPublic profile links detected on the current pageCheck for share URLs, login URLs, or unrelated social links on heavily templated pages.
start_url,domain,current_url,emails,phones,uncertain_phones,linkedin,instagram,youtube
https://example.com/contact,example.com,https://example.com/contact,[email protected];+1 415 555 0199,,https://linkedin.com/company/example,https://instagram.com/example,

The scraper gives you a reviewable CSV, not an automatic permission slip to contact every address it finds.


Alternatives

UScraper template vs contact scraper API

Use the UScraper template when you want an inspectable no-code workflow, a visible browser session, local CSV custody, and a finite URL list you can validate manually.

Tools such as ScrapeHero, Bright Data, Apify, and HasData approach contact extraction through hosted apps, actors, or APIs. UScraper is the better fit when the job is supervised extraction from known URLs into a local CSV you can inspect before sharing.


Troubleshooting

Common issues when scraping contact details

SymptomLikely causeFix
Email column is blankThe page does not expose email text, uses an image, requires login, or renders lateOpen the page manually and decide whether the data is actually public and accessible.
Phone appears in uncertain_phonesThe value matched a loose number pattern but not the stricter phone patternReview manually, then normalize accepted values downstream.
Social links are wrongThe page contains share links, footer links, or platform redirectsSpot-check links and adjust the selector logic for that source type if needed.
Rows repeatThe same URL was supplied twice or append mode reused an old CSVDedupe inputs and start production runs with a dated empty file.
The page shows verificationRate limit, login wall, CAPTCHA, or platform protectionStop the run. Do not bypass access controls. Remove the source or use an approved data route.

FAQ

Contact details scraper FAQ

Public contact details can still be governed by website terms, robots directives, privacy law, platform rules, and anti-spam laws. Use only pages you are allowed to access, do not bypass login walls or challenges, keep source URLs, and get legal review before outreach or enrichment.


Next step

Download the contact details scraper template

Use Contact Details Scraper as the download path, then keep this tutorial open while you validate your first CSV. For adjacent workflows, browse all UScraper templates or read more tutorials on the UScraper blog.

FAQ

Frequently asked questions

Here are some of our most common questions. Can't find what you're looking for?

View All FAQs

Stop writing scripts. Start scraping visually.

Download UScraper and build your first web scraper in under 10 minutes. No subscriptions, no code, no limits.

Available on Windows 10+ and macOS 12+ · Need help? [email protected]