Quick Start
- Register and create an API key from nametoprofile.com/register.
- Install the Email & Phone Extractor from your browser's extension store โ Chrome Web Store, Firefox Add-ons, Microsoft Edge Add-ons, or whichever store applies to your browser.
- Open the extension popup and paste your API key. The popup unlocks once it validates.
- Browse to any page with contact information. The popup automatically scans and lists what it finds.
- Click any row to copy. Use the footer's Copy Emails / Copy Phones / Export buttons for batch operations.
How the workflow behaves
- Opening the popup automatically scans the current page for emails and phones with confidence scoring (High / Medium / Low).
- Each row shows the value, a confidence dot, the source it came from (mailto, tel_link, schema, text, etc.), and a copy button.
- Use the Filter dropdown to narrow by confidence. Use Highlight Page to overlay matches on the live page.
- The ๐ Re-scan button forces a fresh DOM pass โ useful on pages that load content asynchronously after a few seconds.
Confidence scoring
Each contact gets a High / Medium / Low confidence tag based on where it was found:
- Emails โ High: mailto: links, <link rel="me"> tags, schema microdata, JSON-LD email fields.
- Emails โ Medium: decoded obfuscation (e.g. info AT example DOT com) or contact-block context.
- Emails โ Low: plain page-text matches without strong source signals.
- Phones โ High: tel: / sms: / wa.me/ links, [itemprop="telephone"] microdata.
- Phones โ Medium: libphonenumber-validated values or JSON-LD phone fields.
- Phones โ Low: page-text matches without strong source, short codes outside tel: links, NANP non-geographic prefixes (500 / 700 / 900), unparseable country, or length too long for any region.
Stored locally
The extension stores extracted contacts, capture sessions, settings, and your API key in your browser's extension local storage (chrome.storage.local in Chromium-based browsers, browser.storage.local in Firefox), so your data and in-progress work survive popup closes and service-worker / background-script restarts. A 30-day default time-based prune (configurable to 7 / 30 / 90 days, or Never) plus a 4.5 MB LRU eviction (oldest contacts dropped first) keep local storage healthy. Nothing is uploaded to any third party beyond the two free NameToProfile API calls described next.
API key usage
The extension uses your NameToProfile API key only to validate that your account is active and to read your remaining credit balance. It calls these endpoints only:
- GET /v1/auth/validate โ on key save and on optional 5-minute background re-validation
- GET /v1/usage โ on Refresh balance clicks and the same 5-minute cadence
Both endpoints are free and do not consume credits. Premium features (Capture, Crawl, Bulk, Site blacklist, Email filters, Phone filters) require a balance of 250+ credits, but the threshold is read-only โ credits are inspected, never deducted. The extension never calls POST /v1/usage/consume.
Export formats
CSV โ UTF-8 with BOM, 13 columns including Country and Session ID.
XLSX โ full Excel workbook (SheetJS-based).
JSON โ full records plus session metadata.
TXT โ grouped by domain.
Copy Emails / Copy Phones โ newline-separated string copied to clipboard.
Copy CSV Row / Copy Pairs (TSV) โ single-row variants, ready to paste into a spreadsheet.
Filename pattern: contactharvest-YYYY-MM-DD-Ncontacts.{ext}.
Capture mode (premium, requires 250+ credits)
- Click Start Capturing in the popup's capture bar. A red dot appears on the toolbar icon.
- Browse normally. Every page you visit adds its contacts to the active session, deduplicated by canonical value across domains.
- Click Stop to end the session. The session lands in the Sessions tab with date, duration, page count, contact count, and the domain list.
- Each session can be viewed, exported as CSV, or deleted.
Crawl mode (premium)
Same-domain crawler with depth and page limits, per-page delay, optional robots.txt Safe Mode, and pause / resume / stop controls. Job state survives popup close.
Bulk mode (premium)
Paste a list of URLs, validate, then sequentially open / extract / close each one. Pause / resume / stop controls. A resume banner appears when you reopen the popup mid-job. The last 5 completed jobs are kept in history.
Privacy mode and the 24-hour request counter
- Settings โ Privacy โ Privacy mode suppresses the 5-minute background re-validation; the extension only contacts the API on your explicit click after that.
- The popup brand strip shows a ๐ Privacy ยท N calls (24h) chip with a rolling 24-hour counter so you can audit outbound activity at a glance.
Toolbar icon states
- Normal โ standard ContactHarvest icon (signed in, not capturing).
- Locked โ grey-tinted icon with an amber padlock badge (no API key validated).
- Capturing โ red dot in the corner (active capture session, takes precedence over the Locked state).