Link Building Prospects & Guest Post Finder (Google, AI)
Pricing
from $6.00 / 1,000 qualified prospect (rules only)s
Link Building Prospects & Guest Post Finder (Google, AI)
First 25 prospects free. Link building prospects from Google Search: guest-post, resource and listicle pages with contact route, fit score and AI opener. Pay per qualified prospect: junk and repeat domains never charged. Free demo on any plan; live search runs on your own Apify account.
Pricing
from $6.00 / 1,000 qualified prospect (rules only)s
Rating
0.0
(0)
Developer
Rich Minds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Guest-post and resource-page sites for your keywords, with a checked e-mail and a first line.
⚡ First 25 prospects free · 💵 $0.006 per qualified prospect · 🤖 $0.018 with AI assessment (≈ $0.023 all-in) · 🔑 No API key needed — the AI uses the model access of your Apify plan, or your own key · ⏱️ demo in seconds; ≈ 4–6 min for 5 keywords with AI (estimate)

Try it in 30 seconds. Click Try it — the pre-filled free demo turns 8 Google results into 4 link building prospects, nothing charged. Then switch Where do the prospects come from? to the live Google search and paste the page you want links to. Your first 25 qualified prospects are free. → What a run costs · What the AI adds · Run it weekly
⚡ At a glance
| What you get | one row per site: opportunity type, checked best e-mail, authority, fit score, opener, dead links to pitch |
| You provide | the page you want links to — keywords and a one-line pitch are optional (read from the page) |
| Never delivered | directories, giants, PDFs, your own and ignored domains, sites you already received |
| Output | JSON / CSV / Excel, best-first, 6 views — or straight into your Lemlist / Instantly campaign |
| Typical run | 5 keywords → 30 Google searches → ≈ 300 results → ≈ 45 qualified (estimate) |
| Cost of that run | $0.14 Google search on your account + 45 × $0.006 = $0.41; AI tier ≈ $0.023 per prospect all-in → $1.17 |
| Free tier | first 25 qualified prospects per account; the demo's sample rows never count |
| Keys / setup | none — the AI uses your Apify plan's model access, or your own key (llmProvider: byok) |
🎯 What this Actor does for link building
It runs the searches link builders type by hand, then does the spreadsheet work. You pay only for prospects that pass your filters:
- The kind of opportunity — guest post, resource page, listicle, review, forum, news, unlinked or competitor mention.
- A way in you can trust — e-mails, contact and write-for-us pages from the site, MX-checked, the best address picked.
- Authority on every row — a 0–100
authorityScoreper site and aminAuthorityfilter. - The pitch that gets replies — dead links on resource pages and listicles, named in the opener.
- Straight into your campaign — new prospects land in Lemlist or Instantly, no CSV step.
🔗 Backlink prospecting with footprint searches
keywords × opportunityTypes become the searches you would type ("remote work" "write for us",
intitle:resources), run by apify/google-search-scraper; add your own in footprints. Only have a URL? Leave
keywords empty — 3–5 keywords and the pitch are read from your targetUrl (OUTPUT.derivedBrief).
✍️ Guest post finder: write-for-us pages and their rules
guidelinesUrl plus acceptsGuestPosts, sponsoredMentioned, linkPolicy and (AI) topicsAccepted per site.
📚 Resource page link building and broken links
Link pages and "best X tools" roundups add entries. checkBrokenLinks (free) finds their dead outbound links
(404 / 410 / domain gone) → brokenLinks, and the opener becomes the broken-link pitch: "The link to
estimatelab.example/ranges on it no longer works — my guide could replace it."
📬 Blogger outreach: contact route and checked e-mails
The page and one contact / write-for-us page (robots.txt honoured) give contactEmails, contactPageUrl,
socialLinks; checkEmails MX-checks them and picks bestEmail — a named person (firstName) before info@.
📈 Domain authority for every prospect
authorityScore (0–100) from the Tranco top-1M rank, or Open PageRank with a free openPageRankApiKey;
minAuthority drops weaker sites free, before the AI.
🏷️ Brand mentions, competitor mentions and exclusions
brandName pages are dropped or kept as unlinked_mention; competitorNames finds pages that cover a competitor
but not you (competitor_mention). ownDomains, ignoredDomains and suppressionList narrow the list.
🏢 SEO outreach for agencies: every client in one run
clients holds one brief per client (name, keywords, targetUrl, senderPitch, ownDomains, campaign IDs …);
every other setting is shared. One schedule serves the agency: each client gets its own search, never-twice memory,
client column (view By client), digest e-mail and campaign. maxQualified and maxDiscoveryChargeUsd apply per client; up to 25 clients per run (example:
storage-example/tasks/agency-weekly-resource-pages.json).
🆚 Why this instead of Google Search Results Scraper?
Google Search Results Scraper (apify/google-search-scraper) | Link Building Prospects & Guest Post Finder | |
|---|---|---|
| Price | $0.0045 per SERP page + $0.001 per run · 19,055 users / 30 days | $0.006 per qualified prospect (+ the SERP pages of a live search), first 25 free |
| What you pay for | every SERP page, directories and giants included | only qualified prospects — anything filtered out costs $0 |
| Same 100 prospects, all in | ≈ $15.66: 67 SERP pages $0.30 + website content for 670 results $5.36 + 100 add-on leads $10.00 | ≈ $2.60 with AI (67 SERP pages $0.30 + 100 × $0.018 + ≈ $0.50 tokens) — 83 % less; $0.90 basic |
| Link opportunity? | its add-on only checks for your brand | typed, with dead links on resource pages |
| Contact | $0.10 per lead | MX-checked best e-mail, contact and guidelines page — free |
| Repeat runs | the same domains again next week | cross-run memory by root domain — only new sites are charged |
🔎 The link prospecting Actors next to this one in the Store
💵 Pricing — what a run really costs
Pay per result: one event per qualified prospect, nothing else. No start fee.
| Event | When it is charged | Price |
|---|---|---|
free-tier | your first 25 qualified prospects on this Actor, in any mode | $0.00 |
qualified-prospect-basic | AI off — type, rule score, authority, checked contact route, dead links, flags, template opener | $0.006 |
qualified-prospect-ai | AI on — plus AI type, fit score with quotes, opener, pitch angle, submission rules (and the follow-ups with writeSequence) | $0.018 |
You are never charged for: the demo's sample rows, giants, directories, files, own / ignored / already-seen
domains, duplicates, anything below minScore / minAuthority, and the contact, e-mail, authority and dead-link checks.
How that compares — $0.006 is 1.5× one raw row at the $0.004 median of the Actors next to this one in Store search, but one qualified prospect replaces 7 raw Google results you would research by hand ($0.028 of raw rows), with a checked contact route and authority.
Worked example (estimate) — 5 keywords × 6 footprints = 30 Google pages ≈ 300 results → ≈ 110 unique sites → ≈ 45 qualified: Google Search Results Scraper $0.136 on your account + 45 × $0.006 = $0.41, $0.009 per prospect. AI on: $0.136 + 45 × $0.018 + ≈ $0.225 tokens = $1.17, $0.026 per prospect. On your first run 25 of them are free.
AI tier, all in: ≈ $0.023 per prospect, 3.8× basic ($0.018 + ≈ $0.005 tokens at anthropic/claude-haiku-4.5
rates for ≈ 1,600 input / 630 output tokens per prospect, measured in a local run — not yet measured on the platform).
Tokens are billed through Apify's model access (or your own key), reported in OUTPUT.aiTokens; a paid AI run states
both prices before the search starts.
🚀 How to use it
- Click
Try it— the free demo is pre-filled and works as is. - Switch the source (
sourceMode) to the live Google search — or a dataset / pasted URLs. - Paste your
targetUrl— addkeywordsandsenderPitchif you want to steer it — keepminScore60, press Start. - Open the dataset — prospects land best-first; add your Lemlist / Instantly key to have them land in your campaign.
📚 Learn more: Step-by-step tutorial — how to find link building prospects with this Actor
🤖 What the AI tier adds
The same demo prospect, AI off (qualified-prospect-basic):
{"rootDomain": "remotecrewjournal.example", "opportunityType": "guest_post", "ruleScore": 95, "fitScore": null,"outreachOpener": "Hi — I read \"Write for Us\" while researching remote work. Could I pitch you a guest post on remote work, built around a free 2,500-word guide to async stand-ups for remote teams?","pitchAngle": null, "topicsAccepted": []}
AI on (qualified-prospect-ai; local run 2026-09-25 with groq:openai/gpt-oss-120b — the platform default is
anthropic/claude-haiku-4.5):
{"rootDomain": "remotecrewjournal.example", "opportunityType": "guest_post", "ruleScore": 95, "fitScore": 92,"fitReasons": ["We accept guest posts on remote work, async collaboration and distributed teams."],"outreachOpener": "I saw your “Write for Us – Remote Work Guest Posts” page and think our 2,500‑word async stand‑ups guide with templates would be a perfect fit.","pitchAngle": "Provide a 2,500‑word guide on async stand‑ups with copy‑paste templates as a guest article.","topicsAccepted": ["remote work", "async collaboration", "meetings", "distributed hiring"]}
What it saves: 3–5 minutes of reading guidelines and writing a first line per prospect, for ≈ $0.017 more, tokens included.
✉️ The whole outreach sequence (writeSequence)
writeSequence: true adds followUp (≤ 60 words, one new reason to reply) and breakUp (≤ 40 words) to every hot /
warm prospect in the same AI call — same event price, a few more tokens, sent to Lemlist / Instantly as variables.
⚙️ Input
The Try-it form starts with the free demo (8 sample Google results, AI off); its first screen holds these 8 fields.
| Field | Type | Default | What it does |
|---|---|---|---|
sourceMode | actor | dataset | list | actor | Live Google search, a dataset, or pasted URLs. {} over the API runs the free demo: nothing charged, no search started |
keywords | string[] | — | Topics; each becomes the footprint searches. Empty = read from targetUrl |
targetUrl | string | — | The page you want links to — enough on its own to start a search |
senderPitch | string | — | One line on what you offer |
minScore | 0–100 | 60 | The field that decides what you pay: below this = not delivered, not charged |
maxQualified | integer | 50 | Hard cap on output (and on spend) — per client in agency mode |
maxDiscoveryChargeUsd | number | 0.5 | Caps the Google search cost on your account — the same in the form and over the API |
enableAi | boolean | true | On = $0.018 per prospect + tokens; off = $0.006 |
📤 Output
One item per qualified prospect (one per site), best first.
Demo sites use the reserved .example domain: their authority, MX result and dead link are precomputed
(authoritySource: "sample"); your own sites are checked live.
Upsert key: dedupeKey (domain:<root domain>, the cross-run memory's key) — one row per site;
prospectId / itemId = a hash of the page URL.
Views: Overview, Outreach sheet, Outreach import (Lemlist / Instantly), Submission rules, Google & evidence,
By client. A Slack / e-mail-ready DIGEST record sits next to OUTPUT (the funnel, outreachPush, timing).

⭐ Found it useful? A review on the Store helps others find it — it takes a minute on the Actor's page.
🔁 Run it weekly
- Actions → Schedule weekly, with your address in
notifyEmail— every run with new prospects e-mails you the digest. - Add
lemlistApiKey+lemlistCampaignId(or the Instantly pair): the run pushes each new prospect into the campaign itself — email, firstName, website, the opener as icebreaker, pitch angle and dead link as variables. Nothing to export, ever;OUTPUT.outreachPushcounts what landed. - Leave
dedupeAcrossRuns: true— next week only new sites are delivered, charged and pushed (memory per brief, per client in agency mode).
Weekly cost is the new prospects only: 8 keywords (40 Google searches ≈ $0.18) and ≈ 30 new prospects ≈ $0.18 + 30 × $0.023 ≈ $0.87 a week with AI, $0.36 basic (estimate) — per client, all in one agency run.
🎯 Try it for your niche
🔌 Integrations, automation and API
- Lemlist / Instantly — direct push with
lemlistApiKey/instantlyApiKey+ campaign ID; a rejected key never fails the run. - Webhook —
webhookUrlgets{"event": "prospect.qualified", "prospect": {…}, "runId": "…"}per prospect (orprospects.qualifiedbatches withwebhookBatchSize> 1); retried once on 429 / 5xx, a failed POST is counted inOUTPUT.webhook.failed, never a failed run. - Google Sheets — one cell keeps a Sheet current:
=IMPORTDATA("https://api.apify.com/v2/acts/rich_minds~link-building-prospects-ai/runs/last/dataset/items?format=csv&view=outreachImport&token=<YOUR_API_TOKEN>"). - Slack / HubSpot / n8n / Make / Zapier — the Integrations tab, or "Run Actor" → "Get dataset items".
- AI agents / MCP — every input is a plain typed field. First call = the free trial: processes the URLs you send, no search on your account. An empty{"sourceMode": "list", "itemsList": [...]}
{}runs the free demo.
The client waits for the run (no fixed timeout — a run with your own key takes longer, see the FAQ):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("rich_minds/link-building-prospects-ai").call(run_input={"sourceMode": "list","itemsList": ["https://www.remotecrewjournal.example/write-for-us/"],"maxQualified": 50,"maxDiscoveryChargeUsd": 0.5, # spend cap on your account once you switch to "sourceMode": "actor"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["rootDomain"], item["opportunityType"], item["score"], item["bestEmail"])
Use it from Claude, ChatGPT or any MCP client — add Apify's MCP server with this Actor as a tool:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=rich_minds/link-building-prospects-ai"}}}
Then ask: "Run link-building-prospects-ai in list mode on these URLs first (free), then search for my page
targetUrl with maxDiscoveryChargeUsd: 0.5."
👥 Who is it for — SEO outreach and link building teams
| You are… | You run it to… | Start with |
|---|---|---|
| SEO / link-building agency | new sites for every client every week, one schedule | clients + minAuthority + your Lemlist key |
| In-house SEO / content marketer | blogs ranking for your topic that would link to one article | the article's targetUrl |
| Digital-PR team | roundups and reviews that cover your competitors but not you | digital-pr-listicles-and-mentions.json |
| Blogger outreach freelancer | an Ahrefs / Semrush export → typed prospects with a checked e-mail | sourceMode: list with the URLs |
| AI agent (MCP) | "find 30 guest-post sites about X" as one tool call | the free list call, then actor with a cap |
🧠 How the AI works
- One call per prospect — type, fit score, opener, pitch angle, submission rules and (opt-in) the follow-ups, from your inputs, the title, snippet, the first ~1,500 characters of the page and its dead links.
- Grounded, checked in code — reasons only as verbatim quotes; an opener that cites neither the page nor a dead link
is replaced by the template. Default
anthropic/claude-haiku-4.5via Apify's model access, or your own key.
🔒 Data, compliance and limits
- Public data only: Google results, ≤ 2 pages per site (robots.txt honoured), one HEAD request per checked link, public DNS and the Tranco ranking. Keep outreach within anti-spam law (GDPR, CAN-SPAM, CCPA).
- Limits: JavaScript-only sites may show no e-mail; no mailbox probe; ≤ 15 outbound links checked per page.
❓ FAQ
How much will one run cost me? 5 keywords: ≈ $0.14 Google search on your account + $0.006 per qualified prospect (≈ $0.41 for 45), or ≈ $0.023 per prospect all-in with AI (≈ $1.17). The first 25 prospects are free.
What will my first real search cost? The form's 4 keywords × 3 default types = 24 Google searches ≈ 240 results ≈
$0.11 on your account (capped by maxDiscoveryChargeUsd) — ≈ 34 qualified prospects: 25 free, ≈ 9 at $0.006.
Do I have to think up keywords? No — paste the page you want links to (targetUrl) and leave keywords empty; 3–5
keywords and the pitch are read from its title and headings, and OUTPUT.derivedBrief shows them.
Is this a Google Search Scraper? It runs Google Search Results Scraper (apify/google-search-scraper) on your
account, then does the link-building work on top.
Can I use it for SEO outreach at an agency with several clients? Yes — put them all in clients: one run, one
schedule, a memory, digest and campaign per client, a client column on every row.
What does "qualified" mean? A picked type, fit score ≥ minScore, authority ≥ minAuthority, not excluded, and the
contact route if you require it. Only those are pushed and charged.
Which Apify plan do I need? Any plan runs the free demo and dataset / list mode. The live search runs Google
Search Results Scraper on your account and the AI uses your plan's model access — if your plan refuses either, the run
says so and charges nothing; use list mode and llmProvider: "byok".
Is the data public / is this legal? Public pages, no login; outreach is your responsibility under anti-spam law.
🧩 More Actors from the same developer
For SEO teams and agencies — the same pay-per-qualified-result model:
- Google Reviews Insights — local SEO clients: what their Google reviews praise and complain about, to resell as a reputation report
- Local Business Lead — local SEO audit leads: businesses from Google Maps with the site problems an SEO agency sells the fix for
🆘 Support
Something missing or wrong? Open an issue on the Actor's page — requests from buyers are shipped first.
📝 Changelog
One line per published build, newest first — /actor-publish adds it with the commit subject.
- 0.3 (2026-09-26) — agency mode (
clients), direct push to Lemlist / Instantly, dead links on resource pages (brokenLinks, broken-link opener), opt-in AI follow-up / break-up (writeSequence), keywords read fromtargetUrl, API spend cap $2 → $0.50 (= the form), demo rows show sample authority / MX values, shorter first screen and form. - 0.2.2 (2026-09-26) — live AI price synced to $0.018, tutorial linked from the page, AI token figure labelled as a local measurement until the first platform AI run.