The first thing most founders try to buy when they decide to do PR is a media database. It is the wrong first purchase. The expensive ones are genuinely useful at scale, but at seed stage you need twenty-five names, not twenty-five thousand, and the twenty-five you need are findable in an afternoon with a browser.
The real problem with buying a list is not the price. It is that beats drift. A reporter who covered fintech infrastructure two years ago may now be on AI policy, and a database row does not tell you that. The method below produces contacts whose current beat you have personally verified, which is the only kind worth having.
Step 1: Write the sentence, then find three published versions of it
Before you search for anyone, write your story in one sentence — what happened, for whom, and why now. Then go find three stories that already exist covering something structurally similar: same category, same stage, same kind of claim.
If you cannot find three, that is the finding. It usually means either the story is genuinely new (rare) or it is not a story (common). Either way, the three articles you do find hand you your first three reporters and, more usefully, the shape of the angle each one took.
Step 2: Search the outlets, not the web
Use site-scoped search to read an outlet the way its editors see it. Google's operator reference is at support.google.com/websearch/answer/2466433; the three that matter here are:
site:to pin the search to one publicationafter:andbefore:to force recency — anything older than about six months is a different beat- quoted phrases for the category words your customers actually use
So: site:techcrunch.com "vertical SaaS" after:2026-03-01. Then repeat it across the eight to twelve outlets your buyers actually read. That list is the thing to get right, and it is rarely the list of outlets you would like to be in. Trade publications, regional business press and category newsletters have smaller audiences made almost entirely of your buyers.
Step 3: Verify the beat on the author page
Every outlet has an author archive — usually /author/name or a link from the byline. Open it and read the last ten headlines. You are checking four things:
- Recency. Has this person published in the last 90 days at this outlet? Bylines outlive employment.
- Beat. Do those ten headlines cluster around your category, or is your one match an outlier?
- Stage. Do they write about companies your size? A reporter who only covers Series C and later will not run your seed story, however good it is.
- Type. Staff reporter, contributor, or freelancer. All three are worth pitching; freelancers often have the most appetite and the least inbox, but they need to sell the piece before they can write it, so expect a longer timeline.
Step 4: Score, do not collect
Give every name a 1–3 on three axes: covers this beat now, covers companies at this stage, I can find a real contact route. Keep 7s and above; park the rest.
Then split what survives into three tiers:
- Tier 1 — three names. The people you would genuinely most want, and who could plausibly say yes. These are the only ones who get offered an exclusive or a first look.
- Tier 2 — roughly ten. Strong fit, realistic. This is where most coverage actually comes from.
- Tier 3 — roughly twelve. Plausible fit, worth a short note on announcement day.
Twenty-five is not a compromise number, it is a capacity number. At twelve minutes of genuine personalization per pitch — reading the recent piece, writing a specific first line, adjusting the angle — twenty-five pitches is five hours of work. Three hundred is not a bigger version of that. It is a different, worse activity that happens to share a name.
Step 5: Find the address without a permutation tool
In rough order of reliability: the outlet's staff or contact page; the reporter's own website or newsletter; their bio on X, Bluesky or LinkedIn, where many list a preferred contact route explicitly; the signature at the bottom of their newsletter.
Do not run an email-permutation tool and blast the guesses. The bounces damage your sending domain, and reporters talk about mass-guessed outreach in public. If you genuinely cannot find a route, the outlet's tips@ address is a legitimate backstop — just do not mistake it for a strategy.
Step 6: The sheet
Nine columns, and resist adding a tenth:
Name · Outlet · Tier · Last relevant piece (headline, date, link) · Why they would care, in one line · Contact route · Status · Date sent · Follow-up date
The fifth column is the whole exercise. If you cannot write that line at the moment you add the row, you do not have a pitch for that person — you have a name, and names do not convert. The column that is missing on purpose is anything resembling "audience size"; you are not buying reach, you are looking for the person most likely to find the story interesting.
What to throw out
- Anyone whose last relevant byline is older than six months.
- Editors-in-chief of large outlets, unless you know them. They do not take cold pitches; their reporters do.
- Anyone you found only in an aggregated "top 50 journalists in X" listicle. Those are scraped, and mostly wrong.
- Generic press@ addresses at outlets, which are for people pitching about the outlet.
Keep it alive
Re-verify before every announcement, and treat anything you have not checked in 90 days as unverified. Journalists move outlets constantly, and a pitch sent to someone's old employer is the fastest way to signal you did no work. Reading is not wasted either: every time you check a beat, you learn a little more about how your category gets written about, which makes the next pitch better.
Signal PR drafts a first-pass journalist shortlist and pitch emails from your story, which you then verify and send yourself — the verification step above is still yours, and it is the one that decides whether any of it works.