Skip to content

Personal facts from public web text

LinkedIn URL in. Hobbies, likes, and milestones out.

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.

See a full example ↓

What we look for

The life around the job. One personal context.

Hobbies, causes, fandom, and milestones. Each line is a quote with a source. A guess stays labeled a read.

What we look for

What they do

  • Marathons & PRs
  • Half marathons
  • Triathlons
  • Cycling
  • Golf
  • Tennis
  • Rec leagues
  • Hiking
  • Climbing
  • Fishing
  • Skiing
  • Cooking
  • Baking
  • Gardening
  • Video games
  • Chess & board games
  • Instruments
  • Bands
  • Photography
  • Painting
  • Writing
  • Collecting

What they like

  • Books they're reading
  • Film & TV
  • Music they love
  • Concerts
  • Food they prefer
  • Drinks they order
  • Restaurants
  • Bars
  • Hotels
  • Venues
  • Destinations
  • Brands
  • Products & snacks
  • Cars & style

Who they root for

  • Professional teams
  • College teams
  • Season tickets
  • School teams they played
  • Alma mater
  • Fraternity & sorority
  • Hometown

Causes, pets, and the rest of life

  • Pets
  • Rescue animals
  • Volunteering
  • Nonprofit boards
  • Charity walks
  • Community clubs
  • Youth sports coaching
  • Moves
  • Awards
  • Certifications
  • Travel
  • Origin story
  • Personal philosophy
  • Things they avoid
  • Shows they make
  • Books they wrote
  • Family, when they say it
  • Tone, labeled a read

The engine

Right person. Quoted fact.

Name, photo, handle, and links must match. Then every fact needs public text we can quote, and a second check.

IdentityQuoteSecond check
No match or no factsneeds_review · $0
Typical run~51 seconds

Sample · Jordan Ellis

VP Revenue

🐕 Rescue dogs0.95

“adopted our third rescue this weekend: Banjo already runs the house”

source ↗
🏈 Sports loyalty0.94

“Bills Mafia for life. Through every single heartbreak.”

source ↗
🏃 Marathon time0.71

“Chicago Marathon #3 in the books: 3:48 and a new PR”

source ↗
🏠 Home addresswithheld

Safety floor. Never returned.

Fictional static demo. Live enrichments need a paid credit. Not email, phone, or firmographics.

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

Step 01

Drop a URL

LinkedIn, name plus company, or work email.

Step 02

Check identity

Name, photo, handle, and links must match. Else needs_review. No guess. No charge.

Step 03

Check every fact twice

Each fact must come from public text we can quote. A second check runs before you see it.

Step 04

Get the personal context

Usually about 51 seconds. Each fact has source and quote. Reads stay labeled.

The personal context before every meeting

⊘ Right person or nothing
❝ Every fact quoted with source
⊙ Labels show fact type

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.

Delete data or opt out →

pricing

Pricing

Paid evaluation. Buy any tier.
Pay only when we find facts. Wrong person or no facts: needs_review, $0.
TRY 10: FIRST PACKcredits

Try 10: $5

One-time intro: ten credits for $5. First credit-pack purchase only. No subscription.
Buy Try 10: $5
Larger packs
20 credits

20-credit pack

20 credits. Live price from catalog.
Buy 20 credits
50 credits

50-credit pack

50 credits. Live price from catalog.
Buy 50 credits
100 credits

100-credit pack

100 credits. Live price from catalog.
Buy 100 credits
Prices in USD, tax excluded. Credits never expire. Pay only when we find facts. Wrong person or no facts: needs_review, $0.
Entry: one-time first pack — ten credits for a $5 USD tax-exclusive subtotal plus applicable tax (first credit-pack purchase only). Larger packs from catalog. USD, tax excluded. Credits never expire. Pay only when we find facts. Wrong person or no facts: needs_review, $0.
Access

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.

Read the API reference →

~/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: 0

CLI · batch

npx uniqueness example
npx uniqueness context --linkedin-url <url> --json
npx uniqueness batch preflight --file people.json

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 (uniqueness context; uniqueness batch preflight), 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.

Usage limits?

Limits rise automatically when you buy credits. Exact limits are on your account page; you can request more there.

Get an API key

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.