Unadhi Guides

Contact details and e-commerce product scrapers on Apify: copy-paste inputs and API examples

Updated 13 Oct 2026 · Disclosure: both Actors are built and published by Unadhi.

Two polite, ToS-aware Apify Actors from Unadhi, with ready-to-run inputs and API snippets.

Actor What you give it What you get Store page
Contact Details Scraper: Emails, Phones, Socials Company websites, a domain list, or the dataset ID of a Google Maps run One de-duplicated row per website: role emails (MX-checked), E.164 phones, WhatsApp/Telegram links and social profiles, each with the page it was found on apify.com/laudable_instrument/contact-details-scraper-half-price
E-commerce Product Scraper: Shopify & Woo Shop homepages, category pages or product URLs One row per product: title, brand, price, currency, sale price, stock, SKU/GTIN, variants, images apify.com/laudable_instrument/ecommerce-product-data-half-price

Current pricing is shown on each Store page.

1. Contact Details Scraper

Enrich a Google Maps scrape

Run any Google Maps Actor first, then pass its dataset ID. Branches that share a website are crawled once.

{ "datasetId": "", "maxPagesPerSite": 4, "defaultCountry": "IN" }

Or give it a list of sites

{
  "urls": ["kimshospitals.com", "https://www.fmsdental.com"],
  "startUrls": [{ "url": "https://www.zoho.com" }],
  "maxPagesPerSite": 4,
  "checkEmailMx": true,
  "defaultCountry": "IN"
}

Output (one row per site, shortened)

{
  "domain": "tanishq.co.in",
  "status": "ok",
  "pagesScraped": 4,
  "phones": [{ "phone": "+918147349242", "source": "text", "whatsapp": "https://wa.me/918147349242" }],
  "counts": { "emails": 0, "phones": 3, "socialProfiles": 4, "whatsapp": 1 }
}

status is one of ok, blocked-by-robots, blocked-by-terms, blocked-by-tos-list, blocked-by-site, rate-limited or failed.

Privacy default: only shared role mailboxes (info@, sales@, support@) are returned. Addresses that identify one person are dropped and counted unless you turn them on with includePersonalEmails. Personal contact data falls under India's DPDP Act and the EU/UK GDPR, so only switch that on with a lawful basis. This is general information, not legal advice.

2. E-commerce Product Scraper (Shopify, WooCommerce, any shop)

{
  "startUrls": [{ "url": "https://scrapeme.live/shop/" }, { "url": "https://nomadgoods.com" }],
  "maxProductsPerShop": 100,
  "maxListingPages": 10,
  "includeDescription": true
}

Sources, best first: Shopify products.json, the WooCommerce Store API, schema.org JSON-LD, microdata, OpenGraph. Before fetching a shop it checks robots.txt and scans the shop's terms of service, and skips the shop if they forbid scraping. Marketplaces such as Amazon, eBay and Flipkart are never fetched. A SHOPS_SUMMARY record lists every shop and why it was or wasn't scraped.

Run either one from code

Python (pip install apify-client)

from apify_client import ApifyClient

client = ApifyClient("")
run = client.actor("laudable_instrument/contact-details-scraper-half-price").call(
    run_input={"urls": ["zoho.com", "basecamp.com"], "maxPagesPerSite": 4}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["domain"], item["counts"])

curl (synchronous run, returns the dataset items)

curl -X POST \
  "https://api.apify.com/v2/acts/laudable_instrument~ecommerce-product-data-half-price/run-sync-get-dataset-items?token=" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":[{"url":"https://scrapeme.live/shop/"}],"maxProductsPerShop":20}'

What our own tests showed (29 Sep 2026)

These are one-off measurements on our test lists, not guarantees for your sites.

Responsible use

Both Actors read only public pages, use an honest bot User-Agent, follow robots.txt, never log in and never get around blocks. You are responsible for how you use the data.

← All guides

Unadhi Guides are free, independent explainers. We correct errors as soon as we find them: write to mininglife7@gmail.com.