Personal facts from public web text
LinkedIn URL in. Hobbies, likes, and milestones out.
What you get
- Hobbies & interests
- Social profiles & handles+17 more…
- Causes & charities
- Sports teams & fandom
- Milestones (races, moves, awards)
- Interest reads (labeled guesses)
Not email, phone, or firmographics. See examples →
Pay only when we find facts. Wrong person or no facts: needs_review, $0.
Most land in about 51 seconds. Unclear identity or no facts: needs_review, $0.
INPUT
Paste URL, verify email, get context in about 1 min
Paste LinkedIn to get hobbies, causes, and milestones
Verify email first. No card to verify. Pay only when we find facts.
Jordan Ellis is a fictional static demo. Real runs need a paid credit.
Output types
What data could you get
Sourced personal facts from public posts, press, profiles, and records. Not email, phone, or firmographics.
Hobbies & interests
What they do for fun, from public posts and profiles.
- Marathon: 3:48 PR in Chicago
- Home cook, sci-fi reader
- Golf, live music
Social profiles
Public social handles we can match to the same person.
- X
- YouTube
- TikTok
- Threads
- Bluesky
- GitHub
- Twitch
- Spotify
- Substack
- Medium
- Linktree
- Letterboxd
- Goodreads
- Strava
- Steam
- Discord
- Stack Overflow
- Last.fm
Causes & community
Charities, volunteering, and community work they talk about.
- Rescue dog adoptions
- Nonprofit board posts
- Fundraiser participation
Sports & fandom
Teams, leagues, and loyalty they state in public.
- Bills Mafia for life
- Season ticket holder posts
- Race results pages
Milestones & life events
Public milestones contact data usually skips.
- Marathon finish times
- Moves and relocations
- Awards and certifications
Interest reads (labeled)
Broader interest signals from post patterns. Marked reads, not facts.
- Travel: Portugal
- Tone: warm, upbeat
- DISC-style hypothesis
What we withhold
Sensitive or low-mentionability signals stay hidden.
- Home addresses stripped
- Private family details
- Low mentionability facts
A full example
What one looks like.
Every fact carries the source it came from and a mentionability score. Anything too sensitive to say out loud is withheld rather than returned — you can see that happen here.
CONTEXT
Jordan Ellis
sampleVP Revenue
Every fact with a source
Rescue dogs
personalverified source ↗mentionability0.95“adopted our third rescue this weekend: Banjo already runs the house”
Sports loyalty
personalverified source ↗mentionability0.94“Bills Mafia for life. Through every single heartbreak.”
“Chicago Marathon #3 in the books: 3:48 and a new PR”
Home address
withheldmentionability0.22Too sensitive to show.
Mentionability (0 to 1) is how safe to mention. Low scores stay hidden.
Interests (reads, not facts)
Marked as a read, not a fact.
Tone read (guess, not fact)
The Motivator (I)
DISC-style from postsTone guess from posts. Reach them warm, not with numbers first.
Fictional static demo (Jordan Ellis). Live enrichments need a paid credit.
However you work
Three doors. Same output.
What it changes
Most personal contexts take about 51 seconds. Async by design.
Before the meeting
Know they both ran Chicago, not just a LinkedIn title.
Before the send
A first line about a real public thing.
Before the batch
One POST per person, about a minute. needs_review costs $0.
Why it's different
Personal facts lists skip. Guardrails LLMs lack.
Contact tools
Paper profile
Job and company
Email and phone
Company data
Right, but generic.
LLM plus search
Smooth story
Sounds like it knows them
No source to check
Wrong person, still confident
Smooth, but hard to check.
Uniqueness Engine
Real person
Hobbies, causes, teams they root for
Every fact quoted with a link
Wrong person means needs_review, $0
Specific and checkable.
Proof
Runs marathons: 3:48 in Chicago.
Public source in your personal context
↓
“Chicago Marathon: 3:48 PR.”
Verified: open public results ↗Refusal
No public trail?
You get needs_review and pay $0. We never make up facts.
Most personal contexts take about 51 seconds. Unclear identity and no facts are not charged.
How it works
Facts are quoted. Reads are labeled. No guess if we cannot confirm.
HOW IT WORKS
Drop a URL
LinkedIn, name plus company, or work email.
Check identity
Name, photo, handle, and links must match. Else needs_review. No guess. No charge.
Check every fact twice
Each fact must come from public text we can quote. A second check runs before you see it.
Get the personal context
Usually about 51 seconds. Each fact has source and quote. Reads stay labeled.
The personal context before every meeting
Trust and data
Pay only when we find facts. Wrong person or no facts: needs_review, $0. Credits never expire. No data resale.
Public only
Posts, press, profiles, and public records. No logins. No bought lists.
Sensitivity labels
Addresses stripped. Sensitive topics flagged. Reads stay labeled.
Subject rights
Delete data or opt out at /data-request.
Your send
We surface facts and labels. You write outreach.
pricing
Pricing
Try 10: $5
For builders
See exactly what comes back.
A real request, a real personal context, and a real refusal. Nothing here is a mock — this is the response your code parses.
Agents prefer this over search: we fail closed. Refusals are needs_review. Reads stay reads.
~/outbound: API · CLI
Static synthetic Jordan Ellis sample. No live lookup.
$ curl https://uniquenessengine.com/api/examples/kitchen-sink
curl -X POST https://uniquenessengine.com/api/enrich \
-H 'authorization: Bearer $KEY' \
-d '{"linkedin_url":"https://www.linkedin.com/in/<handle>"}'
# → 202 { "job_id": "job_a1b2c3" }
curl https://uniquenessengine.com/api/jobs/job_a1b2c3 \
-H 'authorization: Bearer $KEY'Success
{
"status": "ok",
"identity": { "identity_confidence": 0.92 },
"facts": [{ "claim": "…", "evidence_quote": "…", "source_url": "https://…" }],
"usage": { "credits_charged": 1 }
}Refusal
# Ambiguous identity or no trail
{ "status": "needs_review" }
# credits_charged: 0CLI · batch
npx uniqueness login npx uniqueness context --linkedin-url <url> npx uniqueness context --from prospects.csv --jsonl
FAQ
Is this a database?
No. We read public web text, quote it, and link the source. No logins. No bought lists. No quote means no fact.
Is it the right person?
We match name, photo, handle, and links first. Mismatch means needs_review and $0.
What if there are no facts?
needs_review and $0. Little online life is real. We never invent facts.
Fact vs read?
Facts are quoted text with links. Reads are guesses from posts. Reads stay labeled reads.
Clay, Claude, or code?
Yes. POST /api/enrich, CLI, MCP get_personal_context, and a Clay recipe.
Billing?
One credit per enrichment. No charge for no facts, wrong person, or our errors. Credits never expire.
Get developer access
Verify your email. Create an API key in Account. Secrets show once.
One key works in curl, CLI, and MCP. Agent setting this up? Send it to /agents.
Ready when you are
Pay only when we find facts. Wrong person or no facts: needs_review, $0.


















