Company research · sourced, or blank
A domain in.
A dossier that can show its work.
Post a company’s domain. Get its name, description, industry, size signals, tech stack, funding coverage and contact surface — each field carrying the live URL it was read from. Anything we could not source comes back empty, because an agent that acts on an invented headcount is worse off than one that knows it doesn’t know.
No subscription — pay in Ounie credits. 12 per dossier, refunded in full if nothing resolves.
Signal anatomy
Five sections. Three of them never meet a model.
Emails, phone numbers, social profiles, the tech stack and the page list are read out of the fetched pages by machine — they are substrings of something we downloaded, so there is nothing for a model to embellish. Only name, description, industry, headcount phrasing and postal addresses need reading comprehension, and each of those is checked back against the page before it ships.
Identity
Name, one-line description and industry, each traced to the page it was read from.
Size signals
Headcount phrasing the company published about itself, plus a count of live job links.
Tech stack
Technologies inferred from response headers and the assets the page actually loads.
Funding & news
Funding and acquisition mentions from published articles, each with a dated quote.
Contact surface
Emails, phones, postal addresses and social profiles found on the pages fetched.
Narrowing
Pass sections to skip the fetches you don’t need. It returns faster; the price is the same, because the dossier is the unit.
The source trace
A claim that can’t point at a page doesn’t ship.
Every field the model produces has to arrive with a verbatim quote. We then look for that quote in the pages we actually fetched. If it isn’t there, the claim is deleted — not softened, not flagged, not re-asked with a lower temperature. You get the count back as dropped_claims, so you can see when a model tried to fill a sparse site in for you.
For developers & AI agents
Built to be called by something that isn’t a person.
Three rails, one meter. Every call refuses rather than overdraws: an agent that runs out of credits gets a 402 with the exact shortfall and a link to top up, never a silent debt.
One POST, one dossier
Bearer key or the shared Ounie session cookie. Synchronous — the dossier comes back on the same request, with every source URL attached.
curl -X POST https://company.ounie.com/api/dossiers \
-H "Authorization: Bearer cin_live_…" \
-H "Content-Type: application/json" \
-d '{"domain":"stripe.com",
"sections":["identity","stack","contact"]}'A tool your agent already knows how to hold
build_company_dossier, get_dossier, list_dossiers, get_dossier_schema, get_credit_balance, get_pricing, whoami. Works in Claude, Cursor, ChatGPT and the Ounie AI Team — that last one can't set headers, so the key rides the URL.
Endpoint https://company.ounie.com/api/mcp (legacy SSE: /api/sse)
Auth Authorization: Bearer cin_live_…
# Hosts that can't set headers (e.g. the Ounie AI Team):
https://company.ounie.com/api/mcp?api_key=cin_live_…No account, no key — pay per call in USDC
Keyless agents pay on Base. A domain we can never research is refused for free, before a price is quoted; a domain that turns out to hold nothing is refused after verification but before settlement. Neither one takes your money.
curl -X POST https://company.ounie.com/api/x402/dossier \
-H "Content-Type: application/json" \
-d '{"domain":"stripe.com"}'
# → 402 { accepts: [{ scheme:"exact", network:"base",
# maxAmountRequired:"144000", payTo:"0x…" }] }
curl -X POST https://company.ounie.com/api/x402/dossier \
-H "X-Payment: <base64 signed payload>" -d '{"domain":"stripe.com"}'12 credits per dossier on the credit rails · $0.144 per dossier on x402 · the dashboard keeps every dossier you have built, free to re-read.
Credit math
12 credits, and only for a real answer.
Credits are reserved when you submit and settle when a company actually resolves. A parked page, a dead domain, a holding splash with nothing on it — all of those come back thin, and thin refunds in full. Reading a dossier you already paid for is free forever.
Unit
One dossier
Price
12 cr · $0.12
Thin result
Refunded in full
12 credits reserved while the dossier is built.
Questions
The awkward ones first.
How is this different from asking a model to research a company?
A model asked about a company answers from memory, and memory is where invented headcounts come from. Company Intel fetches the company's own pages first and builds the record only from what came back. Most of the dossier never touches a model at all — emails, phones, socials, the tech stack and the page list are read straight out of the fetched pages with no judgement involved.
What stops it from inventing a field?
Only five fields go to a model: the name, a description, the industry, headcount phrasing and postal addresses. Each one has to come back with a verbatim quote, and that quote is then searched for in the pages we actually fetched. A quote we cannot find means the claim is deleted — not softened, not marked low-confidence, deleted. The count comes back to you as dropped_claims.
Why is my dossier so empty?
Because that is what was on the site. A five-page brochure site for a plumbing company will give you a name, a phone number, a stack and not much else, and we would rather hand you that than fill the gaps with a plausible industry and a made-up headcount. An empty field means "not published", and that is itself useful information.
Is careers_open_roles zero when a company isn't hiring?
No — it is null when we could not tell, and a number only when we counted live job links on the careers page. Zero and null are different statements and we only make the one we can support. The same discipline applies everywhere: a missing field means unknown, never none.
What does a dossier cost?
12 Ounie credits — $0.12 in plain money, from the same wallet as every other Ounie app. No subscription, no minimum. A domain that resolves nothing usable is refunded in full, and reading or exporting dossiers you have already built is free forever.
Does narrowing sections make it cheaper?
No, it makes it faster. The billable unit is the dossier, so a request for just the contact surface costs the same as the full record. Narrow it when latency matters, not to save credits.
Can an agent use this without an Ounie account?
Yes. The x402 endpoint takes USDC on Base with no account and no key. A malformed domain, or one that resolves to a private network, is refused before a price is even quoted — you should never be asked to sign a payment for work that cannot happen. And a domain that turns out to hold nothing is refused after your signature is verified but before it settles, because an on-chain payment has no refund path.
Where does the tech stack come from?
Response headers and the assets the homepage actually loads. We deliberately never read the Content-Security-Policy header, which is the most tempting source and the worst one: it lists every host a site is permitted to contact, not one it uses, so mining it produces a long and confident stack for tools the company has never touched.
Start here
Give it a domain and see how much of it comes back blank.
That is the honest test, and the one this product is built to pass.12 credits from your Ounie wallet, refunded if the domain has nothing on it.