The short version
- Dice runs three phases: discovery finds candidate pages, enrichment reads the ones worth reading, and qualification decides which ones you should actually pitch.
- Each phase costs more per page than the last, so each phase passes fewer pages to the next. Broad search is cheap; reading a page with a language model is not.
- Qualification applies hard checks before it applies a score. A page that is spam, dead, thin, or already links to you cannot be rescued by a strong signal somewhere else.
- Everything survives the run: the search that found a page, the analysis of its content, its score, and — for rejected pages — the reason it was rejected.
- The output is a ranked list of specific live articles with contacts attached, not a list of domains with authority metrics attached.
Link building has a research problem long before it has an outreach problem. Finding pages is trivial — any search engine will give you thousands. Deciding which of those pages your company could plausibly be added to, why an editor would agree, and who to write to is the part that eats a week and produces a spreadsheet nobody trusts.
Dice is built around that research problem. This post walks through the whole pipeline: what happens when you click Find Opportunities, what each phase costs, and why the order matters.
Finding opportunities for Acme
Live pipeline · updates automatically
01Discovery
complete150 results · 109 candidates
02Enrichment
complete82 pages read · 61 ready
03Qualification
complete47 opportunities selected
04Contact discovery
running31 websites checked · 54 emails
Selected opportunities
Ranked with evidence
Best AI visibility tools in 2026
growthnerd.io · competitor gap
Top link-building platforms for SaaS
saasframe.io · competitor gap
AI search optimization software
marketerstack.com · competitor gap
A faithful preview of the Dice workspace · illustrative data
The shape of the problem
Three facts drive the entire design.
- Search is cheap, reading is expensive. A search API call returns fifty results for a fraction of a cent. Fetching one of those pages, extracting its content, and having a language model judge it costs orders of magnitude more. Any pipeline that reads everything it finds is a pipeline that either runs out of money or lowers its standards.
- Domain-level metrics do not answer page-level questions. A site with excellent authority scores publishes pages your product has no business appearing on. The question is never “is this a good site” — it is “would adding us to this exact page make the page better?”
- The reasons matter more than the ranking. A list sorted by a number you cannot interrogate is a list you will second-guess on every row. If the tool cannot say why a page ranked 92, you cannot decide whether to trust it.
A pipeline that reads every page it finds is a pipeline that either runs out of money or lowers its standards. So the order of operations is the product.
Phase 1: Discovery
Discovery starts from your own site. Dice builds a market profile — what you sell, the problems you solve, the terms your audience uses, the adjacent topics you legitimately belong to — and recommends competitors, which you confirm before anything is searched. That profile becomes a set of search queries across several deliberate strategies: category searches, resource and roundup searches, competitor searches, and long-tail searches that reach the smaller publishers a keyword tool never surfaces.
Results are normalized and deduplicated by URL, filtered for the obvious non-candidates — your own domain, file downloads, login pages, search result pages, product listings — and scored. Crucially, every surviving candidate keeps its discovery evidence: which query found it, what type of query that was, and where it ranked. A page found by four different queries across three different strategies is a stronger candidate than one that appeared once at position 40, and the evidence is what makes that visible instead of merely implied.
Phase 1 output is typically a few hundred candidate URLs. None of them have been read yet.
Phase 2: Enrichment
Enrichment is where pages actually get read, so it is where cost control lives. Two gates run before a single page is fetched: a fixed quality floor (a candidate below a discovery score of 45 is not worth reading) and a cost ceiling on how many candidates one pass will process. Between them, they turn an unbounded pool into a bounded, deterministic batch.
What comes back from a read page is not a summary. It is a structured record: the page type, whether it is genuinely article-like, its language, its publication date, its content quality status, a content relevance score with a written reason, a placement suitability score with a written reason, the author if one is identifiable, whether your company is already mentioned or linked and how many times, and an assessment of the publisher behind it.
Phase 3: Qualification
Qualification turns enriched pages into opportunities, and it does two different things in a strict order.
- 01
Hard checks first
Spam, thin content, dead pages, unsupported languages, failed analysis, a prominent existing link to your company, content relevance below 60, and placement suitability below 60 are all disqualifying. These are not weighted inputs — they are gates. A page that fails one is rejected no matter how well it scores elsewhere.
- 02
Then a weighted score
What survives is scored on five weighted components: placement suitability, content relevance, page quality and linkability, audience and commercial intent, and competitor gap. The result is the Opportunity Score, and it lands the page in a tier — exceptional, strong, good, or possible.
Opportunity quality
Best AI visibility platforms for SaaS
growthlab.example · Comparison roundup
Placement suitability
98 /100
Would adding your company make editorial sense on this specific page?
34.3 / 35 pts
Clears the 60-point floor
Content relevance
96 /100
How closely the actual article matches your product, market, and audience.
28.8 / 30 pts
Clears the 60-point floor
Page quality & linkability
88 /100
Substantial editorial content structured to support a useful link.
13.2 / 15 pts
Audience & commercial intent
92 /100
Whether readers are evaluating tools, alternatives, or solutions in your market.
9.2 / 10 pts
Competitor gap
88 /100
A bonus when relevant competitors are present while your company is absent.
8.8 / 10 pts
Reachability
scored separately0
- Verified contact78 × 35%
- Author or editor match100 × 25%
- Publisher reachability100 × 15%
- Contact seniority60 × 15%
- Contact confidence82 × 10%
A great article stays a great opportunity even before an email is found — which is why this never dilutes the editorial score.
Priority0= 94 × 75% + 85 × 25%· rank 1 across every active opportunity for the site.
Qualified opportunities are persisted with their full evidence trail. So are the rejections, with their reason codes — because "we found nothing" and "we found sixty pages and rejected all of them for these reasons" are very different answers, and only one of them is useful.
After qualification: contacts and ranking
Contact discovery runs only after Phase 3, and only for domains that produced a qualified opportunity. This is a cost decision as much as a design one: looking up contacts for every raw search result would spend provider credits on pages that were never going to be pitched.
Once contacts exist, Dice computes a Reachability Score — how confidently you can actually reach someone at this publisher — and combines it with the Opportunity Score into a Priority Score that ranks every opportunity for the site. Editorial quality carries most of the weight; reachability breaks the ties. An outstanding page you cannot contact still outranks a mediocre page with a verified editor's address.
47 opportunities for acme.com
Ranked by priority
Best AI visibility platforms for SaaS
growthlab.example · Comparison roundup
0
- Directly compares products in your category
- Three competitors are listed while your company is absent
- The roundup structure supports a new entry without an edit war
Who to email
Sarah Jones · Author · Senior editor
sarah@growthlab.exampleVerified
Example data. Every field shown comes with its source in the product.
What the pipeline deliberately does not do
- It does not fill a quota. There is no target number of opportunities. A broad market produces many; a narrow one produces a handful. Lowering the bar to reach a round number would make the list longer and the work worse.
- It does not hide rejections. Not-selected pages stay visible with their score and rejection context, and you can promote one manually when you see an angle the model missed.
- It does not send anything on its own. Outreach is a separate, explicit step: you approve drafts, and they send from your own mailbox.
- It does not treat popularity as quality. Small company blogs and independent niche publishers are included when they are legitimate and relevant. Traffic is not the criterion.
Where to go next
Each phase has its own post with the specifics: how discovery queries are planned, what enrichment extracts from a page, and how the Opportunity Score is calculated. If you want the outreach half of the product instead, start with contact discovery.