Dev.to WebDev 🛠 Dev 👁 0 📖 6 min read

9 Production-Ready Apify Actors & REST APIs for B2B Lead Generation, E-Commerce Price Spying & AI RAG Data Pipelines

Whether you are building an AI agent that researches markets, a B2B outbound sales engine, or an e-commerce competitor price tracker, web data extraction is the foundational layer of your stack. Yet maintaining custom sc

Whether you are building an AI agent that researches markets, a B2B outbound sales engine, or an e-commerce competitor price tracker, web data extraction is the foundational layer of your stack. Yet maintaining custom scrapers in-house — dealing with broken DOM selectors, malformed JSON-LD schemas, email de-obfuscation, and Docker container orchestration — quickly drains engineering bandwidth.

To solve this for developers, growth teams, and AI engineers, I designed and deployed 9 production-ready Apify Store Actors (alongside 5 RapidAPI Hub REST APIs and 3 standalone Python + Excel VBA suites). Every Actor runs on Node.js 24 + @crawlee/cheerio, starts in under 2 seconds, and uses transparent Pay-Per-Event pricing ($0.002 per dataset item) with zero monthly lock-in.

In this comprehensive reference guide, we will explore all 9 Apify Actors, inspect their JSON schemas, and walk through copy-pasteable integration patterns for Python, Node.js, cURL, and n8n / Make / Zapier workflows.

🗂️ Complete Catalog: 9 Production Apify Store Actors

Category A: B2B Lead Generation & Contact Enrichment

1. Google Maps & Local Business Lead, Email, Phone & Social Extractor

  • 🔗 Apify Store: tungnguyen84/google-maps-lead-email-phone-extractor
  • What it extracts: businessName, category, domain, website, address, rating, reviewCount, emails, phones, linkedin, facebook, instagram, twitter, youtube, tiktok.
  • How it works: Parses Schema.org LocalBusiness / Organization JSON-LD and microdata, then automatically crawls /contact, /about, /locations, and /impressum pages on the company domain to uncover verified email addresses that aren't displayed on Google Maps cards.

2. GitHub Developer, Contributor & Stargazer B2B Lead Scraper

  • 🔗 Apify Store: tungnguyen84/github-developer-contributor-lead-scraper
  • What it extracts: recordType (developer or repository), username, fullName, profileUrl, repositoryUrl, bio, company, location, website, twitter, linkedin, emails, followers, publicRepos.
  • How it works: Accepts GitHub repository URLs (e.g. https://github.com/apify/crawlee) or developer profile URLs (https://github.com/tungnguyen84), automatically discovers contributors, and extracts B2B recruiting and DevTools GTM leads without hitting GitHub's 60 req/hr unauthenticated API limit.

3. B2B Website Email, Phone & Social Media Contact Scraper

Category B: AI, LLM & RAG Data Ingestion Pipelines

4. YouTube Video Transcript, Metadata, Comments & Channel Email Scraper

  • 🔗 Apify Store: tungnguyen84/youtube-video-transcript-metadata-scraper
  • What it extracts: videoId, title, channelName, channelId, channelUrl, viewCount, durationSeconds, publishDate, keywords, transcriptLanguage, wordCount, estimatedTokens, fullTranscriptText, transcriptSegments ([{ start, duration, text }]), contactEmails, outboundLinks, and markdownForAi.
  • Best for: AI video summarizers, podcast/lecture RAG knowledge bases, and YouTube creator sponsorship outreach.

5. Reddit Subreddit, Search & Thread to Clean JSON & AI Markdown Scraper

  • 🔗 Apify Store: tungnguyen84/reddit-subreddit-json-ai-scraper
  • What it extracts: id, subreddit, title, author, score, numComments, url, permalink, selftext, wordCount, estimatedTokens, markdownForAi, createdAt.
  • Best for: Community sentiment analysis, AI product research agents, and training data curation from old.reddit.com, reddit.com, and .json feeds.

6. Website to Clean Markdown & Text Scraper for AI, LLM & RAG

Category C: E-Commerce Intelligence & Technical SEO Auditing

7. Shopify Store Products, Prices & B2B Contact Email Scraper

8. WooCommerce & WordPress Store Product, Price & Contact Scraper

9. Website SEO Audit, Meta Tags, Headings & Contact Email Scraper

💻 Production Code Examples: Calling Any Actor via Synchronous REST API

Apify provides a single-request synchronous endpoint (run-sync-get-dataset-items) that starts the Actor, waits for completion (typically 3–12 seconds for Cheerio-based Actors), and returns the dataset items directly as a JSON array.

1. Python SDK-Free Client with Automatic Retries

import time
import requests
from typing import Any, Dict, List

class ApifyScraperClient:
    def __init__(self, api_token: str):
        self.api_token = api_token
        self.base_url = "https://api.apify.com/v2/acts"

    def run_actor_sync(
        self,
        actor_id: str,
        input_payload: Dict[str, Any],
        timeout_secs: int = 120,
        max_retries: int = 3,
    ) -> List[Dict[str, Any]]:
        endpoint = (
            f"{self.base_url}/{actor_id}/run-sync-get-dataset-items"
            f"?token={self.api_token}"
        )
        for attempt in range(1, max_retries + 1):
            try:
                response = requests.post(
                    endpoint,
                    json=input_payload,
                    headers={"Content-Type": "application/json"},
                    timeout=timeout_secs,
                )
                response.raise_for_status()
                return response.json()
            except requests.RequestException as exc:
                if attempt == max_retries:
                    raise RuntimeError(
                        f"Actor {actor_id} failed after {max_retries} attempts: {exc}"
                    ) from exc
                backoff = 2 ** attempt
                print(f"[Retry {attempt}/{max_retries}] Waiting {backoff}s...")
                time.sleep(backoff)
        return []

if __name__ == "__main__":
    client = ApifyScraperClient(api_token="YOUR_APIFY_TOKEN")

    # Example 1: Extract Google Maps & Local Business Leads
    leads = client.run_actor_sync(
        "tungnguyen84~google-maps-lead-email-phone-extractor",
        {
            "startUrls": [{"url": "https://apify.com/contact"}],
            "enrichCompanyWebsites": True,
            "maxBusinesses": 10,
        },
    )
    print(f"Extracted {len(leads)} business leads:")
    for lead in leads:
        print(f" - {lead.get('businessName')}: emails={lead.get('emails')}, phones={lead.get('phones')}")

    # Example 2: Extract GitHub Developer Contributors
    devs = client.run_actor_sync(
        "tungnguyen84~github-developer-contributor-lead-scraper",
        {
            "targetUrls": [{"url": "https://github.com/tungnguyen84"}],
            "maxProfiles": 10,
        },
    )
    print(f"Extracted {len(devs)} GitHub developer profiles:")
    for dev in devs:
        print(f" - @{dev.get('username')} ({dev.get('fullName')}): {dev.get('emails')}")

2. Node.js / TypeScript Parallel Batch Pipeline (Promise.allSettled)

When enriching a prospect company, you often want to scrape their company website contacts, SEO health, and GitHub organization in parallel:

const APIFY_TOKEN = process.env.APIFY_TOKEN || "YOUR_APIFY_TOKEN";

async function invokeActor(actorSlug, input) {
    const url = `https://api.apify.com/v2/acts/${actorSlug}/run-sync-get-dataset-items?token=${APIFY_TOKEN}`;
    const res = await fetch(url, {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify(input),
    });
    if (!res.ok) {
        throw new Error(`HTTP ${res.status} from ${actorSlug}: ${await res.text()}`);
    }
    return res.json();
}

async function enrichCompany360(websiteUrl, githubUrl) {
    const [contactRes, seoRes, githubRes] = await Promise.allSettled([
        invokeActor("tungnguyen84~google-maps-lead-email-phone-extractor", {
            startUrls: [{ url: websiteUrl }],
            enrichCompanyWebsites: true,
            maxBusinesses: 5,
        }),
        invokeActor("tungnguyen84~website-sitemap-seo-audit-email-scraper", {
            startUrls: [{ url: websiteUrl }],
            maxPagesPerSite: 3,
        }),
        invokeActor("tungnguyen84~github-developer-contributor-lead-scraper", {
            targetUrls: [{ url: githubUrl }],
            maxProfiles: 5,
        }),
    ]);

    return {
        contacts: contactRes.status === "fulfilled" ? contactRes.value : [],
        seoAudit: seoRes.status === "fulfilled" ? seoRes.value : [],
        githubDevelopers: githubRes.status === "fulfilled" ? githubRes.value : [],
    };
}

enrichCompany360("https://apify.com/contact", "https://github.com/apify/crawlee")
    .then((report) => console.log(JSON.stringify(report, null, 2)))
    .catch(console.error);

⚡ Why @crawlee/cheerio Beats Headless Browsers for 90% of B2B & AI Scraping

Many developers default to Puppeteer or Playwright for every scraping task. However, in benchmark tests across 1,000 business domains, GitHub repositories, YouTube videos, and Shopify/WooCommerce stores:

  • Speed: @crawlee/cheerio processes 12–25 pages per second per container, compared to 0.4–1.2 pages per second in headless Chromium.
  • Memory & Compute Cost: A Cheerio Actor runs comfortably inside a 256 MB – 512 MB container, costing 10x to 25x less in platform compute units than a 4 GB Playwright container.
  • Hidden Structured Data: Even modern SSR/hydrated frameworks (Next.js, Nuxt, Shopify Liquid, WordPress, YouTube ytInitialPlayerResponse, GitHub semantic HTML) embed 100% of their primary entity data directly in the initial HTML response.

📦 Own the Full Offline Source Code & Excel VBA Automation Suites

If you want standalone Python CLI executables and 1-click Excel VBA Macro Dashboards with lifetime source code access and zero recurring API fees:

  1. Python B2B Lead Scraper, Email Extractor & Excel VBA Suite Pro ($14.99) — Includes multi-threaded Python B2B scraper + Excel VBA dashboard.
  2. Shopify Competitor Price & Product Spy Pro ($12.99) — Track competitor Shopify catalogs, discounts, and stock changes directly in Excel.
  3. Ultimate Excel VBA Automation Pack: 10 One-Click Business Macros ($9.99) — Instant data cleaning, duplicate removal, sheet merging, and PDF reporting macros.

Need a custom Apify Actor, anti-bot scraper, or end-to-end data pipeline tailored to your business? Contact me on Fiverr (@tungnguyen84)!

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.