Build a media list with AI in four stages: have AI suggest outlet types and beats, find real journalists from bylines and databases, verify each person's beat, recent articles and contact details yourself, then segment and record opt-outs. AI saves research time but cannot be your source for names or emails, because it invents plausible ones.
The wrong-journalist problem has a precise cause. A language model is fluent about who writes about what, and it is often wrong in a confident tone: a reporter who moved desks last year, a columnist who covers cars when your client sells pianos, an email address built from a pattern that does not exist. Every step below is built around checking the model, not trusting it.
Start with the story, because the list follows it
A media list is not a directory of everyone in a sector. It is the answer to "who would want this particular story?" so write the story first, in two lines, before opening any tool. Suppose a music school is launching a free Saturday programme for children who cannot afford instruments, with a local business donating 40 keyboards. Two lines: "School and local business partner to lend 40 keyboards to children for a year. Launch event on a Saturday morning, children and families available for interview, photos allowed."
That two-liner decides the beats: education, community and charity, local business, family news, and arts. It also rules out a lot of names an assistant would happily add, such as music technology reviewers. If you build the list before you write the story, you end up with a list of music journalists, and music journalists are not who covers a keyboard-lending scheme.
Stage 1: ask AI for candidate outlets and beats, not people
The safest use of AI is to widen your thinking about outlets, not to name individuals. Ask it for categories and then find the humans yourself.
I am a PR consultant. My client's story: [two-line story].
Suggest 12 types of media outlet that could cover it, grouped as
local news, trade or specialist, broadcast, newsletters and podcasts, and community channels.
For each type, name the beat or desk title a journalist would have
(for example "education reporter", "community news editor").
Do NOT name individual journalists or give email addresses.
A realistic reply names things like "regional education reporter", "business desk for the donor story", "community radio breakfast show producer", "parenting newsletter editor", "arts and culture listings editor". That list tells you which searches to run. It is also the first checkpoint: any beat you cannot imagine a human really holding, strike off.
For a second angle, ask for the questions each beat would ask. An education reporter wants numbers and policy context, a business reporter wants the donor's reasons, a radio producer wants a voice. That tells you which spokesperson to offer to which person, and it feeds the pitch, which is a separate job covered in writing a press release journalists will read.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowStage 2: find real names from sources you can see
Now find the actual people. The sources, in order of reliability:
- The outlet's own site. Contact pages, "about us" pages and author pages show who works there now. The article byline on a story from last week is better evidence of employment than any database.
- The journalist's own public profiles. Many state their beat and how they want to be pitched. Some say "no pitches by direct message".
- A paid media database. Tools such as Muck Rack, Cision's CisionOne and the Semrush AI PR Toolkit (formerly Prowly) sell searchable journalist databases with filters and, in some cases, a view of the topics each journalist has been covering. They can save hours but they are only as current as their last refresh, and the data in them can be wrong too. Pricing and contract terms differ between them, so check each vendor's pricing page or ask for a quote, and read the contract term before you commit; a side-by-side look at media list tools covers the trade-offs.
- Your own past coverage. If the client has been written about before, that journalist is the best first name on the list.
An assistant is useful here for the dull part. Paste in 20 author-page URLs or bios you have collected and ask it to extract name, outlet, stated beat and any pitching rules into a table, with "NOT STATED" for anything missing. That is reading, not recall, so the error risk is much lower. Do not ask it to "find the education reporter at" an outlet from memory.
Stage 3: the five-point journalist check
This is the stage that prevents the embarrassing email. For each candidate, check five things and write the evidence in a column, not just a tick.
| Check | What to look for | Evidence to record |
|---|---|---|
| Still at the outlet | A byline or profile dated in the last three months | Link and date of latest article |
| Beat fit | At least two recent pieces on the same topic area as your story | Two article titles |
| Format fit | They write the kind of piece you can offer (news, feature, interview, listing) | One-word format note |
| Contact route | Address from the outlet or the journalist's own profile, or a database entry | Where the address came from |
| Pitching rules | Any stated preference or "do not pitch" note | Quote or "none stated" |
A before and after shows why. A raw candidate list from a database export might include "[first name], Education Correspondent, [outlet]". The check finds that the latest education article under that name is eight months old, the current byline on the education page belongs to someone else, and the profile now says "features editor". Sending to the original contact would have gone to a journalist who no longer covers the beat. The corrected row: current education reporter named, with the two most recent articles linked.
You can use AI to speed the recent-article check. Paste the text of a journalist's last five article headlines and standfirsts and ask:
Below are the last five headlines and intros by one journalist.
My story: [two lines].
1. State in one sentence what this journalist's current beat appears to be.
2. Rate fit with my story as HIGH, MEDIUM or LOW, with one reason.
3. Name one earlier article from the list that I could mention in a pitch.
Use only the text below. If the text is not enough, say so.
A realistic output reads: "Beat appears to be school funding and local council education decisions. Fit: MEDIUM, because pieces focus on policy, not community schemes. Mention the article on free school meal uptake." You then decide. The model has labelled the pieces, but you pasted the evidence, so it cannot invent the articles. That is the difference between summarising and recalling.
Verify contact data before it enters the list
Email addresses are the weakest part of any media list. Three rules keep the damage down.
First, never accept an address the assistant produced. If an AI tool suggests "firstname.lastname@outlet.com" as a pattern, treat it as a guess and do not send to it. Guessed addresses bounce, which harms your sending reputation, or land with a stranger who shares the surname.
Second, record the source of every address. A column called "address source" with entries such as "outlet contact page", "journalist's own profile", "database export, 3 November" lets someone clean the list later without redoing the work.
Third, run a deliverability check with a verification service or your email tool's validation feature before the first send, and remove hard bounces after it. Read the privacy terms of any service you upload a list to, because you are handing over personal data. The guidance in what to check in an AI tool's privacy policy and terms applies line by line.
Stage 4: segment so each journalist gets a different email
One list with one email is how a good story gets ignored. Segment by what the journalist can do with the story, not by outlet size. For the keyboard-lending example, one workable split is four segments:
- News desk, local. Wants a clear who, what, when. Gets the release and an invitation to the launch.
- Education and family. Wants children, parents and a human voice. Gets an offer of two family interviews, with permissions in place.
- Business. Wants the donor's reason and numbers: 40 keyboards, the length of the loan. Gets a note aimed at the donor's spokesperson.
- Broadcast and community radio. Wants a short spoken guest and a time. Gets a three-line pitch and a phone number.
Ask the assistant to draft the four opening lines, then fix them. Sample output before editing: "I hope this email finds you well. We are excited to announce an incredible new initiative." That is exactly what you cut. After editing: "Forty keyboards are going out on year-long loan to children who cannot afford one, starting this Saturday. Two families are happy to speak to you at the launch." Keep the prompt that gets there in a shared place, as in building a shared prompt library for your team.
Add tags for tier as well: Tier 1 is the five people most likely to cover it, who get a personal note; Tier 2 is a wider set who get a lighter, still tailored message. The tiers keep you honest about how many people deserve effort.
One filled-in list row and a Tier 1 note
A finished row is worth copying, because the columns are the whole discipline. Here is one, with every value illustrative. Name: [first name] [surname]. Outlet and desk: regional news site, education. Latest relevant articles: "Free instrument loans reach 200 pupils" (9 October) and "Council confirms music hub funding" (21 September). Format: news and features. Address source: outlet contact page. Pitching rules: "email only, no social messages". Tier: 1. Last verified: 4 November. Opt-out: none. If a row cannot be filled to this standard, the person stays off the list until it can.
For a Tier 1 name, the note quotes the evidence. Weak version: "Dear journalist, we think your readers will love this." Better: "You covered the instrument loan figures on 9 October, so I thought you might want the local follow-up: forty keyboards go out on year-long loan this Saturday, and two families will talk to you at the launch. A photo call is possible from 10 o'clock. If this is not your area, tell me who covers it and I will not trouble you again." The final sentence earns goodwill and gives you a correction to log in the list. The tone stays plain and short, and nothing in it came from the model's memory of the journalist.
A common mistake is to paste that Tier 1 note into a mail merge. Mail merge is fine for the first name. It is not fine for the sentence about the article, which must be written or at least checked for each person. If you have 20 names in Tier 1 and 2, that is twenty minutes of work, which is the cost of not looking careless.
Consent, opt-outs and keeping records
This part varies by place, so treat it as a checklist of questions to answer rather than as legal advice. Email marketing rules and data-protection law differ between countries, and between sending to a named person at an outlet and sending to a shared inbox. Many regimes allow targeted, relevant professional outreach with a legitimate interest basis, if you give a clear way to opt out and honour it. If you hold details of journalists in the EU, data-protection law such as the GDPR is likely to apply to the personal data in the list. If in doubt, ask a qualified adviser before a large send.
Whatever the rules, a sensible minimum:
- Say who you are and who you act for in the first lines of the email.
- Include a plain opt-out line: "If this isn't for you, reply 'stop' and I won't contact you again about our stories."
- Record opt-outs in the list itself, in a column that your next export cannot overwrite, and apply them to every future campaign and every client list you manage.
- Record why the person is on the list: "covered similar programme, article dated 12 September".
- Delete or anonymise entries you no longer need.
- Do not upload the list to an AI tool whose terms allow training on it. Use a business plan with training off, or keep names out of the prompt.
If you spot a "do not pitch" note on a journalist's profile, that beats any database tag. Remove them and note the reason.
A walked-through build for the music school launch
To make this concrete, here is the whole flow in the order it would run, with illustrative numbers.
Hour one: write the two-line story and run the outlet-type prompt, which returns 12 types. Strike three (a music technology magazine, a national business title, a tourism site) as poor fits. Hour two: search for the nine remaining types, collecting 46 candidate names from author pages, newsletters and one database trial. Hour three: run the five-point check. Eleven are dropped because the latest relevant article is over six months old. Seven are dropped because the profile says they have moved. Four more are dropped for "no direct pitches". That leaves 24.
Hour four: verify addresses. Twenty come from outlet pages or journalist profiles. Four exist only in the database; you validate them and hold two back after a failed check, leaving 22 sendable contacts. Hour five: segment into the four groups, tier the six best, and draft opening lines. Total time about five hours, of which AI saved the extraction and the first drafts. The final list is 22 verified names, not the 46 you started with. The cut is the point: half the original candidates would have been wrong-journalist emails.
Where AI lists go wrong, and how it shows up
Four failure patterns appear again and again.
The invented journalist. The assistant names a plausible person at a real outlet who does not exist. It shows up when you cannot find the byline anywhere. Fix: no names from the model, ever.
The stale beat. A real person who used to cover the topic. It shows up as a "recent article" that is over a year old. Fix: the three-month check.
The outlet that does not take this kind of story. A magazine that only runs paid features, or a site with a "no press releases" policy. It shows up on the outlet's contributor guidelines. Fix: read them, and tag the entry.
The over-tidy segment. The assistant groups everyone as "local media" and you send one email. It shows up when two journalists on the same desk get identical text. Fix: four segments minimum, and personalise the first line.
A final check before sending: pick five names at random from the list and trace each one back to its evidence row. If you cannot, the process has leaked. If you manage several clients, keep one master list of verified journalists with a "last verified" date, and filter it for each campaign instead of building from scratch, which also makes opt-outs easier to honour. Once the list is clean, the pitch needs the same discipline, and personalising pitch emails with a review step picks up where this list leaves off.
Keeping the list alive after the campaign
A list decays the day you finish it. After the campaign, spend half an hour on three records: who replied and what they said, who bounced, and who opted out. Add a "story types they covered" note for anyone who ran the piece, because those are your warm contacts for the next launch. Set one calendar reminder per quarter to re-verify the Tier 1 names, and a second one before any large campaign for everyone else.
The aim of all this is a smaller list with a reason for every name. If an assistant can help you reach that in five hours instead of two days, it has done its job. If it hands you 500 names in five minutes, treat that as a warning and start at Stage 3.
Media list questions answered
How many journalists should be on a media list?
Fewer than you think. For a local story, 15 to 30 verified names that cover the subject beat beat a bought list of 500. Start with the ten journalists who have written on this exact topic in the past three months, then widen only where you can say why each person fits.
Can AI find a journalist's email address?
It can guess patterns, and guesses bounce or reach the wrong person. Take addresses only from the outlet's own contact page, the journalist's published profile or a database you pay for, and verify each one before sending. Never ask an assistant to invent one.
Do I need consent to email a journalist?
Rules differ by country and by whether the address is a personal or a role address. In many places, targeted professional outreach can rely on legitimate interest, but you still need a clear opt-out and a record of it. Check the rules that apply to you before the first send.
How often should a media list be refreshed?
Re-verify the list before every major campaign, and spot-check a sample every quarter. Journalists change beats, outlets and employers often. A name that was right in spring can be wrong by autumn, and bounced emails are only the most visible symptom.
Further reads
- AI for PR Firms: Press Release Drafts, Pitch Lists and Client Approvals — Draft the release and get client approval before the list goes out.
- AI Media Monitoring for Small PR Agencies: Alerts, Sentiment, Reports — Track which listed journalists actually ran the story.
- PR Coverage Report: Build One for Each Client With AI — Turn the coverage into a client report after the campaign.
- AI Agents for PR: What They Do and How an Agency Supervises Them — Supervise any AI agent you let near outreach.
- AI Tool Approval Process: How Staff Request a New AI Tool — Get a list-checking tool approved before client data goes in.
- How to Mention AI Use in Client Contracts and Proposals — Tell PR clients how AI is used on their campaigns.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Muck Rack, Cision (CisionOne Journalist Outreach) and Prowly (now Semrush AI PR Toolkit) product pages, read 4 November 2026; general data-protection and anti-spam guidance. Check the rules that apply where you and your recipients are. No prices are quoted because plans and terms vary by vendor.