DEV Community

Panda Federation
Panda Federation

Posted on

Build a B2B account list from public data (no LinkedIn scraping)

Disclosure: I build these tools, and I used AI to help write them and this post.

Most "lead list" tools start by scraping LinkedIn. That breaks the terms of service, gets accounts banned, and the data goes stale fast. A lot of the same signal is sitting in public places that are fine to read: companies' own job boards, their websites, their DNS records, and official government registries.

Here's a small pipeline that turns a list of company domains into a short, prioritized account list using only that public data. Each step is one Apify Actor, priced per result, so a 20-company test costs a few cents.

Step 1: Who is hiring, and for what?

Hiring is the clearest buying signal there is. Company Hiring Signals reads public Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee boards and returns one row per company: open jobs, new jobs in the last 7 and 30 days, which teams are hiring, leadership roles and a 0-100 hiring score. It costs $0.003 per company.

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("pandadad0214/company-hiring-signals").call(run_input={
    "companies": ["stripe.com", "Notion", "https://jobs.ashbyhq.com/ramp"],
    "titleKeywords": ["Account Executive", "SDR", "RevOps"],
    "maxCompanies": 20,  # you pay per company, so this caps the cost
})
hiring = list(client.dataset(run["defaultDatasetId"]).iterate_items())
hot = [c for c in hiring if c.get("hiringScore", 0) >= 50]
Enter fullscreen mode Exit fullscreen mode

Check the field names against the Actor's output tab before you rely on them; each row also has an agentSummary sentence you can show as-is.

Step 2: What do they run, and how do you reach them?

Company Website Enricher reads the home page plus a few contact and about pages. It returns the company name and description, published emails and phones, LinkedIn and social links, the tech stack (CMS, analytics, CRM, ads, chat), the mail provider, SaaS tools visible in DNS, and the domain age. It costs $0.003 per domain, and onlyWithTech lets you keep only, say, Shopify or HubSpot sites.

Step 3: Who decides?

Company Team & Decision-Maker Finder reads a company's own team, leadership and staff pages. You get names, titles, seniority, department, any published email and the company's email pattern. Set decisionMakersOnly to keep founders, C-level, VPs and directors. It costs $0.002 per person found, and companies where nobody is found are free.

Step 4 (optional): Will your email land?

Before you send anything, Email Domain Security Checker grades SPF, DKIM, DMARC, MTA-STS and BIMI for your sending domain (or your prospects'). You get an A-F grade and plain-English fixes for $0.002 per domain.

A niche example: trucking

If you sell to carriers (factoring, insurance, ELDs, dispatch), Trucking Company Leads pulls new USDOT registrations straight from FMCSA open data. Each carrier comes with phone, email, officers, fleet size, drivers and cargo, filtered by state and fleet size. It costs $0.002 per carrier.

run = client.actor("pandadad0214/trucking-company-leads").call(run_input={
    "mode": "new", "daysBack": 7, "states": ["TX"], "maxResults": 50,
})
Enter fullscreen mode Exit fullscreen mode

Use it from an AI assistant instead

All of these (plus research tools like a fake-citation checker and Grants.gov search) are wrapped in one open-source MCP server. In Claude, Cursor or VS Code:

uvx panda-federation-tools
Enter fullscreen mode Exit fullscreen mode

Setup for each client, with a one-click Cursor button and a Claude Desktop file, is in the README. Every call is validated against the Actor's input schema before it runs and has a hard spending cap (default $0.50).

Limits, honestly

  • Public data only means gaps. Small companies often don't publish a team page or a job board, so they come back as "not found". That's a free row, not proof they aren't hiring.
  • Published emails are whatever the company put on its own site. Respect opt-outs and your local email laws.
  • A hiring score is a signal for where to look first. It isn't a forecast.

More coming soon: clinical trial sponsors, IRS nonprofit lists, Federal Register comment deadlines, product recalls and bulk VIN decoding are built and going public on the Apify Store over the next few days.

Top comments (0)