The idea
New businesses open, ratings change, startups launch. A weekly job that pulls a fresh list keeps your pipeline full without anyone clicking anything.
The loop
- Start a search (
POST /api/{source}/lists). - Wait until it's completed (
GET /api/{source}/lists/{id}). - Export in the format your tool imports (
POST …/exportwith"format": "instantly") — or read the JSON and push it yourself.
A minimal Node script
const KEY = process.env.PROSPECT_CHEAP_KEY
const api = (path, init = {}) => fetch('https://prospectcheap.com/api' + path, {
...init, headers: { Authorization: 'Bearer ' + KEY, 'Content-Type': 'application/json', ...init.headers },
})
const start = await api('/trustpilot/lists', { method: 'POST', body: JSON.stringify({
categories: ['roofing_contractor'], filters: { country: 'US', minTrustScore: '4' }, maxPerSource: 100,
}) }).then(r => r.json())
let res
do {
await new Promise(r => setTimeout(r, 20000))
res = await api('/trustpilot/lists/' + start.list.id + '?per=100').then(r => r.json())
} while (['running', 'importing'].includes(res.list.status))
const csv = await api('/trustpilot/lists/' + start.list.id + '/export', {
method: 'POST', body: JSON.stringify({ format: 'instantly' }),
}).then(r => r.text())
await require('fs').promises.writeFile('roofers.csv', csv)
Run it on a schedule — GitHub Actions, a cron job or any automation tool that can run code.
Avoid repeats
Rotate cities or categories each week, or keep a list of domains you've already contacted and skip them before sending. Instantly and Smartlead can also skip leads already in your workspace.
Watch your credits
Each run costs one credit per lead found. GET /api/credits tells you the balance before you start — stop the job if it's low.
Reference: API docs.