How it works
1. Source
Four feeds run on separate clocks.
| Feed | What it gives | Pulled |
|---|---|---|
| Public trial registry, through its JSON API | Every interventional study whose record changed in the last 24 hours, split into two streams | Daily |
| Regulatory full-text search API, plus the announcement feeds | Financing and registration filings for clinical-stage companies, plus announcements naming a program moving into the clinic | Weekly |
| Job boards | Study start-up titles at sponsors and CROs | Weekly |
| The regional gap list | Every sponsor running a trial in one of the site’s indications with no facility inside the catchment | Rebuilt monthly |
The two registry streams:
- Studies not yet recruiting. With a planned start inside 120 days.
- Studies still recruiting. Whose estimated primary completion date has already passed.
Every row lands in one prospects table carrying the sponsor, the registry number, the indication, the phase, the enrollment target, the facility count, the trigger type, the trigger date, and the detail the first email will quote.
2. Qualify
The filter runs before any credit is spent. A row survives only when every one of these holds.
- Indication. It maps to one of the site’s therapeutic areas.
- Phase. II through IV, or a Phase I the site is equipped for.
- Enrollment target. 60 or more.
- Enrollment to facility ratio. Above the site’s threshold.
- Catchment. No facility in the record already sits inside it.
- Sponsor. Absent from the client and suppression tables.
- Study state. Not terminated and not withdrawn.
Rows that fail on indication alone are kept in a separate table, because a site that adds a therapeutic area later gets a backfill rather than a rebuild.
3. Enrich
Sponsor type decides which seat to look for.
| Sponsor type | The seat |
|---|---|
| Large pharmaceutical sponsor | Its feasibility or site identification group |
| Mid-size biotech | The clinical operations director |
| Small clinical-stage company | The VP of clinical operations or the chief medical officer |
| CRO-run study | The study start-up manager named on the programme |
Where the registry publishes a central contact, that person is used first and the seat search runs as a second contact on the same row.
Hunter finds the address from the name and domain, BetterContact verifies it, and one step down the title ladder runs when the first attempt fails.
4. Outreach
Five steps over 21 days, four by email and one by LinkedIn, each written from a locked template for the trigger type.
The model fills the first two sentences only, from the registry fields and the site’s own enrolment record in that indication.
What the model may never do:
- State that the sponsor is behind schedule.
- Quote a per-patient figure.
- Claim an enrolment number the site cannot evidence.
The offer is always the same: a 20-minute feasibility conversation.
5. Book and track
Replies arrive on a webhook and are classified into eight routes.
- A feasibility request. Pauses the sequence, sends the questionnaire link and a booking link, alerts the business development lead in Slack, and creates a CRM opportunity keyed on the registry number.
- A completed questionnaire. Triggers the capability packet, a branded PDF assembled from the site’s investigator CVs, its enrolment record in that indication, its equipment and certifications, and its start-up timelines, sent back inside 15 minutes.
- A status change. Every watched study is re-checked weekly, and a change puts the row back in the queue with the variant that fits it.
Lead sources for clinical research sites
1. Interventional trials registered and not yet recruiting, with an unfinished site list
This is the trigger nothing else in the market reads properly, and it exists because registration is a legal obligation rather than a marketing choice.
Under FDAAA 801 and 42 CFR Part 11, applicable clinical trials must be registered on the public registry before enrolment begins, and journal policy pushes almost everything else there too.
The registry’s v2 JSON API is free and needs no key.
| What the record gives | Fields |
|---|---|
| The study | Lead sponsor, collaborators, phase, conditions, eligibility criteria, enrollment target, study type, planned start date, overall status |
| The sites so far | Every facility named so far, with its city and state |
| The contact | For most not-yet-recruiting studies, a central contact with name, email, and phone |
The qualifying slice is narrow:
- Overall status. Not yet recruiting.
- Planned start. Inside 120 days.
- Enrollment target. 60 or more.
- Enrollment-to-facility ratio. Above the site’s threshold, which for most sites means more than 15 patients per listed site.
A sponsor in that position has a protocol, a budget, a start date, and an incomplete site list, and the person whose job is to finish it is named in the record.
Highest intent of the four sources by a wide margin, because the need is dated, quantified, and published by the buyer.
A site covering 4 therapeutic areas typically sees 90 to 150 qualifying studies a month, which is an estimate from registry volume in the common indications.
2. Studies past their primary completion estimate and still recruiting
The same registry marks the difference between a plan and reality.
A study whose overall status is still recruiting after its estimated primary completion date has passed, or whose record shows that date pushed twice, is behind on enrolment, and a sponsor behind on enrolment is paying for every month of delay.
Adding rescue sites is the standard response and it moves faster than any start-up award, because the contract template, the budget, and the IRB submission already exist.
The diff that matters is computed rather than read:
- Store the snapshot. Each watched record’s primary completion date and facility count.
- Re-read weekly.
- Flag the change. A pushed date, a facility count that grew after the start date, or a status that moved from active to recruiting again.
Second highest intent, and the shortest sales cycle in the system at 4 to 10 weeks from first email to a contract, an estimate.
Expect 35 to 60 qualifying rows a month.
3. Clinical-stage financings and registration filings
A company that has just raised a Series B, closed a crossover round, or filed to go public has told the market which programs enter the clinic and roughly when.
The regulatory full-text search API is free and returns S-1, 424B, 8-K, and 10-Q filings by keyword and date. A search restricted to clinical-stage language plus the site’s indications surfaces the sponsors who will be selecting sites in 2 to 4 quarters.
The lead time is long and the reply rate is the lowest of the four. The value is that the site reaches a small sponsor before it has any site relationships at all, which is the only moment a new site gets onto a list without an incumbent to displace.
Expect 20 to 40 rows a month.
4. Study start-up hiring at sponsors and CROs
A posting for a feasibility manager, site identification lead, study start-up specialist, clinical trial manager, or a regional CRA in a named therapeutic area means a protocol is being built now, and the person hired arrives with no site relationships.
An Apify job-board actor pulls postings by title and therapeutic keyword across the sponsor and CRO list, and the record gives the company, the title, the posting date, the location, and often the hiring manager.
Medium intent and useful timing, because an introduction in a start-up lead’s first eight weeks costs nothing to accept.
Expect 60 to 110 rows a month.
5. Regional gap sponsors
A standing list rebuilt monthly: every sponsor with an active trial in one of the site’s indications whose facility list contains no location inside the catchment.
This is the lowest-intent source and it exists to fill the sending schedule between triggers. It works because geographic coverage is a real constraint in site selection, and a sponsor with a hole in a metro knows it.
Expect 55 to 60 rows a month.
ICP definition
Filter logic the workflow applies.
What starts a row
| Filter | Rule |
|---|---|
| Study type | Interventional only. Observational and expanded access rows are dropped at source |
| Phase | Phase 2, Phase 2/3, Phase 3, or Phase 4. Phase 1 kept only when the site profile marks a dedicated unit as available |
| Indication | The study’s condition or MeSH term matches one of the 3 to 8 therapeutic areas in the site profile, checked against a synonym table rather than by string match |
| Enrollment target | 60 or more participants. Below that the site list is usually short and already chosen |
| Enrollment per listed site | Enrollment target divided by facility count above 15. A study with 600 participants across 22 sites qualifies, one with 80 across 40 does not qualify |
| Start window | Planned start date between today and 120 days out for the not-yet-recruiting stream. No upper bound on the rescue stream |
| Status | Overall status is not yet recruiting, or recruiting. Terminated, withdrawn, suspended, and completed rows are dropped |
| Rescue flag | Estimated primary completion date in the past, or pushed 2 or more times, while overall status is recruiting |
What keeps a row
| Filter | Rule |
|---|---|
| Catchment overlap | No facility in the record within 60 miles of the site, or within the state for rare-disease indications |
| Sponsor exclusions | Sponsor domain absent from the client table, the open-opportunity table, and the suppression table on a 270-day window |
| Sponsor size | Lead sponsor is a company or a network. Individual investigator-initiated studies are dropped unless the site profile opts in |
| Contact seat | One of feasibility, site identification, study start-up, clinical operations, clinical trial management, or the registry’s own central contact |
| Duplicate guard | One live row per sponsor per indication on a 180-day window, regardless of how many of that sponsor’s studies qualify |
| Volume cap | 40 rows per sponsor per year, so a large pharmaceutical sponsor never floods the queue |
Outreach sequence
The five steps
| Step | Day | Channel | Goal |
|---|---|---|---|
| 1 | 0 | Opener citing the registry number, the indication, and the enrollment target against the sites listed; offer a 20-minute feasibility conversation | |
| 2 | 4 | Send the site’s enrolment record in that indication: patients screened and randomized on the last 3 comparable protocols, screen failure rate, and time from contract to first patient in | |
| 3 | 9 | Connection with a one-line note naming the protocol, for the seat that did not open the first two emails | |
| 4 | 14 | Send the patient population line: the count in the site’s database meeting the study’s key inclusion criteria, with the query stated so the number can be checked | |
| 5 | 21 | Breakup offering to complete a feasibility questionnaire for the protocol at no charge, whether or not the site is selected |
Example step 1 (not-yet-recruiting trigger)
Subject: [NCT number] site coverage in [state]
Hi [First name], [Sponsor]‘s [indication] study [NCT number] is listed as not yet recruiting with a [start date] start, [enrollment target] participants, and [facility count] sites named so far. None of them are in [state].
We have run [N] [indication] protocols here and randomized [N] patients in the last [N] years, with [N] active in the database who meet the published age and [criterion] criteria.
Worth 20 minutes on feasibility before the list closes?
Expected reply rate
| Row type | Expected reply rate |
|---|---|
| Registry rows | 3 to 7% |
| Rescue rows | The top of that range and sometimes above it |
| Financing rows | 1 to 3% |
| Regional gap rows | 1 to 2% |
The 3 to 7% is an estimate for a warmed domain writing to feasibility managers, site identification leads, and clinical operations directors.
Rescue rows land there because the recipient has a dated problem.
Timing carries more weight than copy here.
A not-yet-recruiting study contacted inside 3 weeks of registration replies well, and the same study contacted after its status flips to recruiting replies at roughly half that, because by then the list has usually closed.
Stack and running costs
| Tool | Purpose | Monthly |
|---|---|---|
| n8n Cloud | Orchestration | $24 |
| Trial registry v2 API | Study records, facility lists, status and date changes | $0 |
| Regulatory full-text search API | Clinical-stage financing and registration filings | $0 |
| Apify | Job boards, sponsor domain resolution, people search, trade press | $39 |
| Hunter | Decision-maker email finding | $34 |
| BetterContact | Waterfall enrichment + verification | $15 |
| Instantly | Sending + warmup | $37 |
| Claude API | First-line generation + reply classification | $12 |
| SourceToDocs (Starter) | Branded site capability packet generation | $19 |
| Sending domain | Deliverability | $1 |
| Supabase (free tier) | Prospects, site profile, enrolment record, population counts, study snapshots, suppression | $0 |
| Total | ~$181 |
SourceToDocs is built by 2V Automation, the team behind this library.
Why the total is this low
The two API lines are the reason this system costs less than the equivalent build in most other industries.
- The trial registry v2 API. Free, needs no key, and asks only for reasonable request rates.
- The regulatory full-text search API. Free, with a User-Agent header naming the company and a contact address.
The Claude line runs higher than a comparable system because every row carries a protocol summary through the model before the template is filled.
Commercial site-intelligence platforms sell the same registry data with a dashboard on top from roughly $500 to $2,500 a month, and they are left out because the underlying records are public and the useful work is the filter rather than the display.

