# Intent outreach without a data broker, and without pretending otherwise

> Published addresses first, a contact database only when there is none, the source disclosed in every message, and a one-click way out of the list for all.

Published 2026-09-05 · 8 min read · intent-outreach, outreach, cold-email, build-in-public
Canonical: https://bidsurvivor.space/blog/intent-outreach-without-a-data-broker

---

Intent outreach is writing to someone because of something they did, not because of something a vendor guessed about them. They posted a question. They launched. They complained about a tool. Or, in our case, their logo is on our page and they do not know it yet. The whole method rests on the "did" being real and the address being one they chose to be reached at. This is how we do it, including the part where we use a contact database, because we do, and a post about honest outreach that hid that would be a strange thing to publish.

## What "intent" means here

The phrase has been colonised by data vendors. "Intent data" in a sales-tool brochure means a score assigned to a company because an IP address in its range looked at some pages on some sites, resold through a chain of parties none of whom you or the company have met. We are not talking about that.

We mean an observable act by a person, in public, that makes a message from you reasonable. The test is simple: would the person, on reading your mail, understand immediately why they got it? "You asked on Thursday which invoicing tools handle late fees; here is one, it is mine" passes. "We noticed your company is in the market for invoicing solutions" fails, and everybody who has received it knows it fails.

Our version is unusually concrete. To start the marketplace, [we place real companies in empty slots at $0](/blog/why-the-first-hour-is-free). Nobody bid for them; we put them there. That gives us one honest reason to write to each of them: your logo is on an advertising board, you did not ask, and here is the link that removes it. The message is a favour with a door on it, which is also why it converts better than anything else we send — those two facts are the same fact.

## Published addresses first, always

The order in our outreach code is fixed, and the comment above it explains why: the address a company printed on its own contact page is the one it chose to be reached at, so paying to find a worse one would be paying to do worse.

The procedure, which you can do by hand for a dozen companies in an hour:

1. **The site's own contact paths.** /contact, /about, /support, /press, the footer, the imprint page if the company is European. A published address on any of these is the answer.
2. **The place they showed intent.** If the reason you are writing is a post, the post often carries a way to reply that is not email at all. Use it. A public reply in the thread they started is usually more welcome than a private mail about it.
3. **The person's own profiles.** A GitHub profile, a personal site, a bio with an address in it. These count as published because the person published them.
4. **Stop.** If none of that produced an address, the company has told you something, and the honest options are to write nothing or to buy an address and say so.

We chose the second, with limits.

## The part where we use a contact database

For placed brands whose sites publish no address we could find, and only for those, we look the domain up in [Prospeo](https://prospeo.io/), a B2B contact database. It returns a name and a work address; nothing else is held and nothing is passed on. There is a monthly cap on how many lookups we buy, and the outreach itself is paced across the month with a small ceiling per run, so a missed cron job cannot turn into a burst of seventy mails on a Monday morning.

Then the mail says where the address came from. One line, in every message that uses a bought address, including the follow-ups: your address came from Prospeo, a contact database, because your site publishes none we could find, and here is what we hold and how to have it deleted. It links to [our privacy page](/privacy), which states the lawful basis in full — legitimate interest in telling a company its logo is on our page — and the right to object.

That line is not a courtesy. Article 14 of the GDPR covers personal data you obtained from somewhere other than the person, and it obliges you to tell them, among other things, the source of the data, and to do so at the latest at the time of the first communication with them. The text is on [EUR-Lex](https://eur-lex.europa.eu/eli/reg/2016/679/oj) and the UK regulator's plain-English version is in the [ICO's guidance on the right to be informed](https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/individual-rights/the-right-to-be-informed/). A flag in the code decides whether the paragraph renders, and the flag defaults the safe way: an address of unknown source is treated as bought, so a bug cannot silently drop the notice.

We would rather not need the database at all, and the published-first rule is what keeps its use small. But "we only use published addresses" would be a claim you could disprove by receiving one of our mails, and a claim the reader can disprove in one click costs the reader, the company named, and the sending domain all at once.

## What the mail must never say

It must never say that somebody bid. Nobody did. The house placed the brand at zero, and the message says exactly that: we put your logo there, it has cost you nothing, and a dollar takes the slot off you. There is a test in the codebase that fails if the copy ever drifts into claiming a bid, because the temptation to write "a competitor has taken your slot" is real and the sentence is false.

The true sentence is sharper anyway. This company's logo is on a live auction page it never asked to be on, and anybody can take that spot for less than a coffee. Said plainly, that is more interesting than invented urgency, and it has the property invented urgency never has: the reader can check it in one click and find it exactly as described.

## The way out is a link, not an offer

Every message — the placement notice, the follow-up, the nudge — carries a link that removes the brand. One click, no reply, no account, no conversation. Removal undoes the placement completely: the seeded bids go, any slot the brand was leading returns to empty, the address stops receiving mail, and the domain is marked so the discovery pool does not simply put it up again next time it runs.

That last part is the one that is easy to leave out and unforgivable to. An offer to remove somebody "on request" is not the same offer as a link that removes them, and a removal that lasts until the next import is not a removal.

The link removes only placements we made. A brand somebody claimed and paid for is theirs, and the way off the board at that point is to stop bidding.

## When to stop

The placement notice goes once per brand, ever, enforced by a unique index rather than a check that can be forgotten. An address that has unsubscribed is skipped before anything is composed. A bounce is a stop. A reply that says no is a no. A removal is a stop forever, for that domain, whatever the pool finds next month.

Beyond our case, the general rule for anyone doing this by hand: one message per act of intent. The post they wrote earns one reply. It does not earn a sequence, and it does not earn a second message six weeks later because your product has a new feature. Intent decays, and a mail that arrives after it has decayed is a cold email wearing a costume.

## Does it work?

We do not know at a size worth publishing yet. The board is young, the numbers on [the front page](/) are small and refreshed every thirty seconds, and the honest report of an outreach programme is a conversion rate we will state when it is a rate rather than an anecdote. What we can say is what the rules are, which is what this post is for.

If you are choosing channels for a bootstrapped company, [the ranking here](/blog/advertise-a-bootstrapped-business) puts outreach where it belongs: cheap, slow, and dependent entirely on whether the message is welcome. The step before it, [finding the thread where the buyer is already asking](/blog/community-listening-find-the-thread), is where the intent comes from. Without that step there is nothing to write about except yourself.
