Playbooks.

Real patterns builders run on RichAPI — deep-dive workflows, recipes, prompts, and skills.

Playbooks

Enrich in bulk without buying seatsBatch enrichment is a machine job. It runs from one service account, on a schedule, with nobody logged in — so paying per seat prices the wrong thing entirely. enrich_profiles_bulk and enrich_companies_bulk bill per record in the list, on any 2xx.Enrichment Backend for Platforms: Your Enrich Button, Our KeyYour product has an enrich button. Behind it, our endpoints on your API key, with per-key usage attribution so you can see which of your integrations spent what. Waterfall calls (email, phone) don't bill on a miss; enrichment and search calls bill on any 2xx.GTM Data Utilities: 17 Boring Endpoints That Stop Pipelines BreakingThe plumbing endpoints: string cleaning, list splitting, date formatting, sitemap and meta-tag extraction, lead round-robin, reference-data lookups. Most cost 0.5 or 1 credit, one costs nothing, and all of them bill on any 2xx because none are waterfall endpoints. One page, seventeen curls, because seventeen separate pages would each be thin.One key per client: what that buys an agency, and what it does notIssue a named API key per client, revoke any one of them without touching the others, and read usage attributed per key with a CSV export. What does not exist: per-client credit budgets, billed sub-accounts, and per-key spend caps. All credits come from one team balance, so a runaway job on one client's key spends the whole agency's credits. Budget enforcement lives in your scheduler, not in ours.Signal-Based Prospecting: Build an Account List From Jobs, Ads and PostsStart from something a company did this month (a job post, a running ad, a LinkedIn post) and turn it into an account list, then find and verify contacts on it. The signal endpoints bill per result on any 2xx; only the email_finder and email_verifier legs at the end are miss-free.Verify before the push, and know exactly which verifications you paid forA gate between enrichment and your sequencer: no row reaches a sending tool without a verification verdict attached. email_verifier is a waterfall endpoint, so the free case is narrow and specific — providers ran and reached no verdict at all. A verdict of invalid, or a verdict of catch-all, is a result and it bills. We do not send email; the gate hands rows to whatever does.What to do with a catch-all email resultThe verifier labels a catch-all domain instead of guessing. From there you have exactly two honest branches: try a personal address with find_personal_email, or drop the row. find_personal_email is not a waterfall endpoint and bills on any 2xx, including one that returns nothing.

Recipes

Agent-Driven Account Research: Claude Pulls Company, People and EmailsConnect the MCP server once, then research an account by asking for it. Claude picks the endpoints, runs them, and hands back the execution_log receipt for each call. Only the email and phone waterfall calls are miss-free; the enrichment and search calls bill on a 2xx.Build your own new-funding alert from a watch listKeep a list of Crunchbase company URLs, re-scrape them on a schedule you run, and diff the funding fields against what you stored last time. crunchbase_company_scraper_sync bills a flat rate per call and bills on every 2xx, including the runs where nothing has changed. We have no alerting product — this is a cron job you own.Catch-all domain? Fall back to the personal emailFind a work email, verify it, and when the verifier says the domain is catch-all, fall back to find_personal_email on the person's LinkedIn URL. The finder and verifier are waterfall endpoints and their misses cost zero. find_personal_email is not a waterfall: it bills on every 2xx, including the ones that come back with nothing.Clean a Domain, Then Enrich the Company: the Second Half Doesn't ExistNormalising a messy URL into a root domain costs 0.5 credits and works well. The step you want next does not exist: company enrichment takes a LinkedIn company URL, not a domain, and the domain-based company enricher waterfall is not in the live OpenAPI. This page covers what `clean_domain` is genuinely good for, and what to do about the missing leg.From a company's LinkedIn employee list to a sequence-ready CSVPull the people a company actually employs, page until the elements array comes back empty, then run email_finder and email_verifier over the survivors. The employee search bills per result returned, including results you later throw away. The finder and verifier are waterfall endpoints and cost zero on a miss. We do not sequence and we do not send — the last step hands a file to your sequencer.Google Ads Transparency to an outbound listPull an advertiser's live Google creatives, collapse them to landing domains, match those domains back to companies, pull the people, then find and verify emails. Only the finder and verifier are waterfall calls. The scraper bills 3 credits for every result it returns, including the forty creatives that turn out to be one landing page.ICP Filter With AI Enrich: Enrich the Company, Then Score ItTwo calls. enrich_company returns the facts, ai_enrich runs your scoring prompt over those facts and returns structured JSON. Both bill on a 2xx, including a 2xx where the model says it doesn't know, so the filter is only as honest as the enrichment feeding it.List Build and Verify: Search, Find, Verify, In That OrderThe most common chain in the catalog: people_search to build the list, email_finder to get addresses, email_verifier to check them. The search leg bills per row returned; the finder and verifier legs are waterfall calls where a miss costs zero.Local businesses from Google Maps into your CRMScrape Maps results by keyword and area, resolve the messy website field into a clean root domain, enrich what you can, and push the rows into your CRM with your own code. The Maps scraper bills per result returned. There is no RichAPI CRM app — the last mile is yours.Meta Ad Library to an account listPull ads from the Meta Ad Library, collapse them to Pages, bridge each Page name to a real company domain, then work down to people and verified emails. The scraper bills 1 credit per result returned and bills on any 2xx. Only the finder and verifier give you a free miss.People Search to Email Waterfall: One Billing Model Per LegSearch builds the list; the finder and verifier resolve it. The search leg bills per result whether or not you end up using the row, while the other two are waterfall endpoints and cost zero on a miss. Three calls, two billing models, and the search leg is the one that charges you for rows you throw away.Phone Append After an Email Hit: The 25-Credit Call That's Free When It MissesFind the email first, then append a phone number only to the rows that resolved. Both legs are waterfall endpoints, so both return `billed: false` and cost zero when providers find nothing. At 25 credits, the phone call is the most expensive in the catalog, which is exactly why the miss-free rule carries most of the value here.Pixels first, stack second: a two-call qualification passOne call tells you which tracking and advertising pixels a site loads; another tells you what else it runs. Two flat-rate calls per domain, both billed on any 2xx including one that detects nothing. Detection sees what a public page exposes and no more — an empty result means the page did not show it, not that the company does not use it.Qualify accounts by what they run, then find the peopleDetect a domain's public web technologies with one flat-rate call, drop the accounts that fail the test, and only then spend per-result search credits on finding people. A stack detection is a fit signal, not intent — we sell no intent feed. web_tech_stack bills on any 2xx, including one that finds nothing.Qualify domains on traffic before you spend on contactsRun similarweb_scraper_sync over a domain list, cut the ones too small or too far off-category to be worth working, then spend finder and verifier credits only on what survives. At 2 credits per result it is the most expensive per-result call in this chain, and it bills on any 2xx including a domain it knows nothing about.Rank local businesses by their reviews, then write to the ones with a problemFind the businesses in a keyword-and-area search, then pull reviews only for the ones worth reading. Both calls bill per result returned, so every number below states a count — a review pull stays cheap right up until you ask for a thousand of them per place.Turn a hiring post into a contactable listSearch live LinkedIn job posts, roll them up to companies, pull the people who own the budget, then find and verify their emails. Four calls. The finder and verifier are waterfall endpoints, so a miss on those two costs zero; the searches bill per result returned.Turn a list of emails into enriched LinkedIn profilesResolve each email to a LinkedIn profile URL with find_linkedin_url_by_email, then enrich that URL with enrich_profile. Two calls, two charges. Neither one is a waterfall endpoint, so both bill on any 2xx — including a lookup that resolves nothing.Waterfall Email Then Verify: The One Chain Where Every Leg Is Miss-FreeFind the address, then verify it. Both legs are waterfall endpoints, so a call where the providers run and return nothing comes back 2xx with `success: false` and `billed: false`, costing zero credits. This is the only two-step chain in the catalog where that holds end to end.

Skills & signals

A weekly signal digest you run yourself, with Claude and one promptA saved prompt that pulls job postings, ad activity and company posts for your target accounts through the hosted MCP server, and writes a short digest. RichAPI has no scheduler and no alerting product — the cron is yours. Every endpoint in this prompt bills per result returned, on any 2xx, so cap the account list before you cap anything else.Build a Smartlead list in Claude, then paste it inConnect Claude to the hosted MCP server, describe the list you want, and let it search, find and verify while you watch each call. Then you export a CSV and upload it to Smartlead yourself. We do not sync sequences and we do not send mail.Cursor: Enrich a CSV That's Already in Your RepoPoint Cursor's agent at a CSV in your working tree and let it call RichAPI through MCP, row by row, writing an enriched copy back to disk. No pipeline, no UI, no ETL. The risk is an agent that decides to loop over 4,000 rows unsupervised, so this page is mostly about bounding that.Zapier: Find and Verify an Email When a Form Is FilledForm submission triggers a Zap that calls /email_finder and then /email_verifier. There is no RichAPI Zapier app and no RichAPI trigger, so both calls go through Webhooks by Zapier, Custom Request, which is a paid-plan action. Both endpoints are waterfall, so a call that finds nothing costs zero credits, but Zapier still charges you a task for it.n8n: Enrich Over HTTP, Then Push to HubSpot With n8n's Own NodeAn n8n workflow with two owners: the enrichment half is an HTTP Request node hitting RichAPI, and the HubSpot half is n8n's built-in HubSpot node. We have no HubSpot app, so nothing in this workflow writes to your CRM except n8n itself. Costs are scoped per endpoint: email_finder and email_verifier are waterfall and do not bill on a miss, everything else bills on any 2xx.