Playbooks / Recipe

Qualify accounts by what they run, then find the people

Detect 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.

Pattern: domain list → web_tech_stack filter → people search → email finder → email verifier

In short: A RichAPI recipe for filtering an account list by detected web technologies before spending on contact data. POST https://api.richapi.ai/api/v1/web_tech_stack takes a URL and returns detected public web technologies at a flat credits_per_call rate; it bills on any 2xx response including one where nothing is detected. Surviving domains go to POST /people_search, which bills per result returned, then POST /email_finder and POST /email_verifier, which are waterfall endpoints where a 2xx carrying success:false returns billed:false and costs zero. Detection is limited to technologies observable on public web pages. RichAPI does not sell intent data and a stack detection is not evidence of purchase intent. Authentication uses the x-api-key header. New accounts get 100 free credits and require no credit card.

Last updated November 4, 2026

Credit math

Worked example at stated counts: 500 domains × 1 credit on web_tech_stack = 500 credits, charged on every 2xx including empty detections. 90 domains survive the filter; people_search returns 4 contacts each = 360 results at 0.1 = 36 credits. 360 email_finder calls at 5 = up to 1,800 credits less every miss, which bills zero. 1 credit per web_tech_stack call, 0.1 credits per people_search result, 5 credits per email_finder call

ROI math

The filter is the cheapest call in the chain and it runs first, so 82% of the list is eliminated before any per-result or per-contact spend. Convert credits at your tier rate on /pricing.

Owned internally by

GTM engineer, or a founder doing their own account selection

Best for

Products with a hard technical prerequisite or a named displacement target: integrations, migration tools, analytics, anything that plugs into a specific platform

  1. 01

    Sign up at app.richapi.ai and copy your key.

    100 free credits, no card.

  2. 02

    Clean your domain list first — clean_domain strips tracking junk and resolves a messy URL to a root domain, at a fraction of a credit, before you spend a whole one detecting a stack.

  3. 03

    Run web_tech_stack per domain and store the full detection, not just your pass/fail verdict. Next quarter's filter will be a different technology.

  4. 04

    Filter to the accounts that meet your actual prerequisite.

    Be strict — this is the step that saves money.

  5. 05

    Run people_search on survivors for the two or three titles that own the technology, then email_finder and email_verifier.

Check what web technologies acme.com, globex.com and initech.com are running.
Tell me which of them use Shopify. For those, find two ecommerce or growth
leads per company and get their work emails.

Read the word "intent" carefully

This recipe finds companies that run a particular technology. That is a fit signal. It tells you a prerequisite is met, or that a competitor is installed, and both are good reasons to write to someone.

It is not intent. Nobody raised a hand. We do not sell an intent feed, we are not going to pretend otherwise, and a page that blurs the two is selling you a story about a <script> tag. The tag is real. The buying cycle is a guess.

What makes stack data worth paying for is that the guess is cheap to make and easy to check. One flat-rate call per domain tells you whether the account is even eligible, before you spend anything on people.

Get 100 free credits — no card

Filter first, because the filter is the cheap call

Most teams run this chain backwards. They build the contact list, then wonder which accounts were worth it. The cost lands in exactly the wrong place, because contact data is the expensive end.

web_tech_stack takes a URL and returns the technologies it can detect on that site. It is a flat per-call charge and it bills on any 2xx — including a response that detects nothing, which is a real outcome on a site built out of one JavaScript bundle. That is not a waterfall endpoints endpoint and the miss-free rule does not reach it. Budget for the full list, not the survivors.

Then, and only then:

  • people_search on the domains that passed, billing per result returned
  • email_finder and email_verifier on those people, both waterfall, both zero on a miss

What tech-stack filtering costs, at stated counts

Step Count Rate Credits
web_tech_stack 500 domains, all billed 1 / call 500
people_search 90 survivors × 4 = 360 results 0.1 / result 36
email_finder 360 calls, 210 hits 5 / call, misses free 1,050
email_verifier 210 calls 2 / call 420

Rates used above: 1 credit per web_tech_stack call, 0.1 credits per people_search result, 5 credits per email_finder call, 2 credits per email_verifier call.

Run the same 500 domains without the filter and the finder step alone is roughly five times larger. The filter costs 500 credits and removes 410 accounts before the expensive calls start. Convert to currency at your tier rate on the pricing page, and note that clean_domain at half a credit is worth running first on any list that came out of a CRM export full of ?utm_source= tails.

Where tech-stack filtering goes wrong

Detected is not deployed. A tag on the marketing site says the marketing team evaluated something. It does not prove the product team runs it, that the contract is current, or that anyone internally likes it. Detection reads public pages; it cannot see the admin panel.

Tag managers hide everything. A site that loads nearly every third-party script through one tag manager gives up very little at the HTML level. Treat a thin result as unknown, not as absent — writing "I noticed you don't use X" to a company that does is worse than not writing at all.

Stale tags outlive the tool. Dead scripts sit in templates for years after the subscription lapsed. If your pitch is a displacement pitch, say "it looks like you're running X" and let them correct you. That sentence survives being wrong. "You're running X" does not.

Detection depends on what the page exposes. Some stacks are simply not visible from outside. An empty result is a limit of the method, and we would rather write that down than sell you a coverage claim.

Plays related to tech-stack filtering

Filtering on what a company runs pairs naturally with filtering on what it is doing: see hiring signals to outbound for the staffing version, or the use-case index for the rest. To score the survivors rather than pass/fail them, ICP filter with AI enrich runs an LLM over the enriched record. The endpoint itself is documented at the tech stack lookup API, and people search covers the contact step.

Tech-stack filtering FAQ

Is this intent data?
No. It is technographic fit. We have no intent product, and a detected technology is not a signal that anyone is shopping.

Does a call with no detections still cost me?
Yes. web_tech_stack bills on any 2xx, empty included. Only the waterfall endpoints — email_finder, email_verifier, phone_finder — return billed: false on a miss. A non-2xx never bills, on any endpoint.

How current is the detection?
It is fetched when you call. There is no cached technographic index behind this and we are not selling you index size, so re-run the filter when it matters rather than trusting a result from six months ago.

Can I filter on the absence of a technology?
Carefully. Absence in the response means "not detected," which is not the same as "not used," for all the reasons above. Build the pitch so being wrong is survivable.

Can I call this from Claude or Cursor (MCP)?
Yes. web_tech_stack is exposed as a tool on the hosted MCP server, so you can qualify a handful of domains conversationally before you commit to scripting the batch.

Do I need a credit card?
No. 100 free credits on signup.

Try tech-stack filtering: 100 free credits, no card

Point it at ten domains you already know well and check whether the detections match reality. Get 100 free credits

FAQ

Frequently asked

No. It is technographic fit. We have no intent product, and a detected technology is not a signal that anyone is shopping.
Yes. `web_tech_stack` bills on any 2xx, empty included. Only the waterfall endpoints — `email_finder`, `email_verifier`, `phone_finder` — return `billed: false` on a miss. A non-2xx never bills, on any endpoint.
It is fetched when you call. There is no cached technographic index behind this and we are not selling you index size, so re-run the filter when it matters rather than trusting a result from six months ago.
Carefully. Absence in the response means "not detected," which is not the same as "not used," for all the reasons above. Build the pitch so being wrong is survivable.
Yes. `web_tech_stack` is exposed as a tool on [the hosted MCP server](/integrations/claude), so you can qualify a handful of domains conversationally before you commit to scripting the batch.
No. 100 free credits on signup.

More playbooks

Related playbooks

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 — sources 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.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 sources 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.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.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.