SIRVEIL™ Scan API
Pay for what you use.
That’s the whole model.
Ask us whether a person shows up on a data-broker site, and get one structured answer back. A dime a question. A meter, an invoice, and nothing else to sign.
No plans. No seats. No minimum. No “book a demo.” Nothing to prepay, so nothing can expire. The meter is the entire contract.
# A check — one person, one site you name. Built for broker # and people-search domains; "couldn't tell" is a real answer. # Name is required — it's the anchor every match is scored # against. Add one strong identifier; phone ranks first. curl https://api.sirveil.ai/v1/verify \ -H "Authorization: Bearer sv_live_…" \ -d '{ "identity": { "firstName":"Jane", "lastName":"Doe", "phone":"5035551212" }, "domain":"examplebroker.com" }' # → one structured answer, with its evidence { "status": "indexed", "domain": "examplebroker.com", "evidence": [ … ], "dropped_fields": [], // anything we couldn't use, named back to you "billed": "$0.10" // failed calls: $0.00 }
# pip install requests — that's the whole SDK story import requests r = requests.post("https://api.sirveil.ai/v1/verify", headers={"Authorization": "Bearer sv_live_…"}, json={"identity": {"firstName": "Jane", "lastName": "Doe", "phone": "5035551212"}, "domain": "examplebroker.com"}) print(r.json()["status"]) # indexed | not_indexed | indeterminate
// no SDK to install — fetch is the client const r = await fetch("https://api.sirveil.ai/v1/verify", { method: "POST", headers: { Authorization: "Bearer sv_live_…" }, body: JSON.stringify({ identity: { firstName: "Jane", lastName: "Doe", phone: "5035551212" }, domain: "examplebroker.com" }) }); const result = await r.json();
# A full sweep is real work, so you submit it and collect it. # Typically finishes in two to three minutes. curl https://api.sirveil.ai/v1/scan \ -H "Authorization: Bearer sv_live_…" \ -H "Prefer: respond-async" \ -d '{ "identity": { "firstName":"Jane", "lastName":"Doe", "phone":"5035551212", "email":"[email protected]", "city":"Portland", "state":"OR" } }' # → 202 Accepted, with a job to poll { "job_id": "job_9f2c…", "status": "queued" } curl https://api.sirveil.ai/v1/jobs/job_9f2c… \ -H "Authorization: Bearer sv_live_…" # → the finished report
Full sample payloads, error shapes and rate limits: the docs — readable without an account.
Step 1
Get a key
Minutes, not meetings. The key is the account. No sales call, no forms asking about your “use case journey.”
Step 2
Make one call
The example on this page is the integration. One request, one structured answer, billed only when it succeeds. The docs carry a complete sample response — read the exact shape before you spend a dime.
Step 3
Scale on the meter
Same rate at call one and call one million — until you decide it’s worth a conversation. Then you email us and reach someone who can say yes.
The margin math
Our rate card is your cost of goods. Simple.
Building this yourself means engineers, proxies, blocked requests, constant breakage and a line item that never goes away. We already paid for all of it, so you rent the result one call at a time — your margin is the difference, and it’s wide.
Removal & privacy services
Replace the scraper cost centre.
Stop building and babysitting your own scrapers — a $0.10 call does it. Confirm removals actually stuck, show your customer the evidence, keep the subscription revenue.
Executive protection & security
Bill the audit. Pocket the difference.
A footprint audit that used to eat an analyst’s weekend costs thirty-five cents and comes back over a coffee break — billed to your client at your rate.
Breach response & legal
Evidence, billed to the matter.
Exposure documentation that shows its sources, generated on demand. Deliverables your clients pay for, at a unit cost that rounds to nothing.
The math
Do it in your head. We’ll wait.
Most vendors make you sit through a demo to hear a number. Here’s ours, with a slider, because your time is worth more than the theater.
Volume worth talking about? Email [email protected] and you’re talking to someone who can say yes in that conversation — not a qualification call, not a quote queue. The published rates are the ceiling. They only ever go down from here.
Where to buy
Three doors, one rate card. Same meter behind all of them.
That number above is the number at every door. If your company runs on AWS or Azure, buy it there — the usage lands on the cloud bill you already pay, and procurement never opens a new-vendor ticket.
Preferred · AWS Marketplace
Spend money you’ve already committed.
Usage is metered onto your existing AWS bill at the public rates. If you’ve signed a spending commitment with Amazon, what you spend with us counts toward it — so this isn’t new budget, it’s budget you already promised to spend. No new vendor to onboard, no card, no procurement maze.
Committed volume? Request a private offer — same listing, same meter.
Microsoft Azure Marketplace
Same meter, Microsoft’s bill.
The same two line items on your Azure invoice, and eligible against a Microsoft Azure Consumption Commitment if you have one — the rate card doesn’t care whose cloud you run.
MACC-eligible · questions answered by a human.
Direct · card
For everyone without a cloud commitment.
Put a card on file and we bill the meter at the end of each month, same as the marketplaces. No pack to buy, no minimum, no balance to babysit. A month with no calls is a month with no charge.
Buy directCard on file · start now
Itemised receipt every month · cancel by not calling.
How billing works
A meter, and a monthly invoice. There is no step three.
Every successful call adds a line to a meter. At the end of the month we total it and it appears on whichever bill you chose — AWS, Azure, or your card. You never pay before you’ve used something, and you never buy an amount you have to guess at in advance.
Nothing to prepay
So there is no balance to top up, nothing that expires, and no unspent money of yours sitting on our books. The problem is designed out rather than promised away.
Nothing renews
There is no subscription, so there is nothing to cancel. Stop calling and the bill stops. That’s the entire off-boarding process, and nobody will phone you about it.
Failed calls cost $0.00
You pay for completed answers. Errors, timeouts and empty upstream responses are our problem — they never appear on your invoice.
Why we did it this way
Because prepaid balances make vendors money when you forget.
Credit packs, expiring balances and use-it-or-lose-it minimums all pay the vendor for your inattention. We’d rather be paid for calls we actually served. A pure meter means the only way we make money is by being useful this month.
And the rate card is the ceiling. The numbers on this page are the most you will ever pay per call. Volume moves them down and nothing moves them up — not usage spikes, not renewal season, not a quiet email in month seven. Every door bills the same two numbers, so choosing where to buy is a question about your accounting, never about your price.
The sweep, visualized
One job. Every registered broker. Thirty-five cents.
Every dot is one of the 548 domains derived from the California CPPA Data Broker Registry — the legally mandated filing list, plus curation, derivation published. Watch one sweep cover it.
Real sweeps run the same way — submitted as a job, finished in about two and a half minutes, every domain’s result reported with its source. Orange dots are the handful of hits a typical subject turns up; finding them is the entire point.
The report
Anyone can sell you the hits. We document the silence.
A sweep report’s real deliverable is usually the negatives: hundreds of dated, sourced answers saying “searched publicly — not there.” That’s what proves a removal stuck, clears an executive’s footprint, or closes a matter — evidence of absence, not just a list of findings.
5 · indexed
The hits — each with the URL, the matched text, and the timestamp. Actionable today.
522 · not indexed
The product. Five hundred and twenty-two dated, per-domain statements of absence — the clean bill your customer is actually paying for.
21 · indeterminate
Login walls and namesakes, each with its reason. Doubt reported, never disguised as a “no.”
Mock-up with sample numbers — not live output. Real reports carry one row per domain with per-field provenance; the shape is in the docs.
Removal verification
Prove it stuck.
Run a sweep after your takedowns: the not-indexed rows are dated proof the removals held — the artifact your subscription customer renews for.
Executive clearance
A clean bill, in writing.
“Checked 548 registered brokers on this date; present on none of them” is a deliverable. Silence, documented, is the report.
Compliance & legal
Absence you can cite.
Each negative carries its queries and its timestamp, so “we found nothing” becomes evidence instead of a shrug in a deposition.
Straight talk
Three things vendors mumble. We’ll say them plainly.
The key is the account.
Yes, you make an account — that’s where the meter lives, and the meter is how your invoice stays exact. That is all it does. No profile, no onboarding tour, no “success manager” assigned to you.
The report is yours. Use it.
Embed it, put your own name on it, wrap something valuable around it and charge your market whatever it bears — no royalties, no per-seat nonsense, no “commercial licence” upcharge. You pay to use, and use you shall. The only fence is the acceptable-use box below; inside it, your product is your business.
We don’t resell your queries.
Who you look up, how often, and what came back — none of it is packaged into someone else’s product. Scan results are never sold, to anyone, at any volume. Your customers stay your customers.
Receipts
Measured, not claimed.
A check: 0.9 s typical
890 ms median, 1.5 s at the 95th percentile, measured cold with no cached answers. Run-by-run numbers live on the benchmarks page, slow runs included.
A sweep: about 2½ minutes
548 broker domains — derived from the California CPPA Data Broker Registry, plus curation, derivation published — submitted as a job and collected when it’s done. Median 154 seconds, slowest measured 203. Scanned when you ask — never a cached snapshot.
Every answer shows its work
Each finding in the response says where it came from, so your compliance team gets a source instead of a shrug.
Asked before you ask
The fine print, in large print.
What exactly counts as a billable call?
A completed answer. Errors, timeouts and empty upstream responses bill at $0.00 — infrastructure trouble is our cost, not yours. A malformed request is refused before any search runs and its cost is recorded as null, not zero — it cost us nothing to answer, and we won’t assert a measurement we never made. The invoice is the meter, nothing else.
Can I do a reverse phone or email lookup?
Not as a standalone query — every request needs a first and last name, on every tier, no
exceptions. The name is the anchor every candidate record is scored against: without it, nobody can honestly
tell you the record they matched belongs to the right human being. Vendors who return a match on a bare phone
number aren’t measuring that — they’re returning whatever the number hit. Send the name and
the phone together and the phone drives the search — it’s our highest-ranked identifier, ahead of
email, on broker domains. And if we can’t use a field you sent, we drop it and name it back to you in
dropped_fields — nothing fails
silently.
Is there a subscription, a minimum, or anything to prepay?
No, no, and no. There is no monthly fee, no minimum spend, and nothing to buy up front. You are billed at the end of the month for the calls you actually made. A month with no calls produces no charge and no invoice. Because there is nothing to prepay, there is no balance that can expire and no unspent money of yours sitting on our books — the thing every other vendor has to promise you about, we simply don’t have.
Which sites do you actually check?
Two different answers, because they’re two different products. A check is one website you name. There is no allowlist in the code — but the honest scope is what public search can see. Data-broker and people-search sites return decidable verdicts, because being publicly findable is their business model. Login-walled or noindex sites come back indeterminate rather than a fake “no” — if public search can’t see the subject page, neither can we, and we say so instead of guessing. Public information only: no logins, no back doors, ever. A full sweep is our 548-domain registry — built from the California CPPA Data Broker Registry, the legally mandated public filing, plus curation — and we publish the derivation so you can audit it. Per-domain results, with sources, either way.
Why is a sweep slower than a check?
Because it’s hundreds of times more work, and it’s done live rather than pulled from a cache. A check is one question and comes back in about a second. A sweep is submitted as a job and collected when it finishes — typically two to three minutes. The docs show both patterns; the job version is three lines of code.
Can I resell the results inside my product?
Yes — that’s the point. Embed, white-label, bundle, mark up. No royalties, no revenue share, no “commercial tier.” The only exclusions are the acceptable-use rules above (FCRA-governed decisions and harassment), which apply to you and to your customers.
Can I buy through AWS or Azure Marketplace?
Yes, and if you have committed cloud spend it’s the route we’d recommend — usage lands on the cloud bill you already pay, at the same public rates, with no new vendor onboarding, and it counts against an AWS commitment or an Azure consumption commitment. Find us in AWS Marketplace and Azure Marketplace, or email [email protected] for a private offer with negotiated committed-volume rates — same meter, same rate card either way.
How do volume discounts actually work?
Email [email protected] with your expected volume. The person who replies can set the rate — one conversation, decided then. Published rates are the ceiling, never the floor.
What are the rate limits?
Generous by default and published in the docs next to the error shapes. If you need more, that’s the same one-conversation email as discounts.