Private data intelligence — invite only

Resolve any identifier
into a real person.

Project Recon turns an email, phone, or name into a complete record — across 6 international data pools. Use the console, or wire the REST API into your stack in a single request. Once you have a key, searches are unlimited — nothing is metered and nothing is billed per lookup.

No usage limitsNo per-search feesKeys hashed at rest
recon.app/app
live
EmailPhoneNameBulk
jane.smith@example.com

Jane Smith

United States

exact match
jane.smith@example.com
+1 415 555 0132
1 Market St, San Francisco, CA 94105
dob: ••••-••-•• (encrypted)

Lookups

12,481

+18%
92%match

Countries

5 pools

Bulk queue

idle

Lookup volume - last 8 days

web + api
Mon: 14Tue: 22Wed: 19Thu: 34Fri: 28Sat: 46Sun: 41Mon: 58

Unlimited

searches per key

42ms

p50 lookup

5 pools

and growing

Records indexed

0+

across all pools

Countries live

6

more added continuously

Lookups served

0

web console + API

Searches per key

Unlimited

no credits, no metering

Platform

Four ways in. One canonical record out.

Identifiers are normalized on ingest and again at query time, so lookups stay exact where they can be and fuzzy only where they must be.

Email

Exact, normalized

Addresses are lowercased and de-aliased on ingest, so a lookup hits a b-tree index directly.

Phone

E.164 normalized

Any input format resolves to one canonical number, with country inferred from the pool.

Name

Fuzzy, trigram

Postgres pg_trgm similarity ranks near-misses, typos, and reversed name order.

Bulk

Async, queued

Paste or upload a list, get a job id, poll for progress, download a matched CSV.

Coverage

International by default, not as an add-on.

Each country is its own pool with its own schema quirks handled at import. Filter to one market, or search them all at once.

United StatesUSAustraliaAUNew ZealandNZCanadaCAUnited KingdomGBIrelandIE+ more on request

Records by pool

live from the index

Pools are being provisioned.

Pool growth

expanding
Wk 1: 12Wk 2: 26Wk 3: 21Wk 4: 43Wk 5: 39Wk 6: 62Wk 7: 78Wk 8: 96Wk 1Wk 4Wk 8

Usage

One key. Unlimited searches.

Recon is access-based, not usage-based. Once your key works it keeps working - no credits to top up, no charge per lookup, and no monthly cap to plan around.

Unlimited searches

Run one lookup or a hundred thousand. A valid key has no monthly search cap and no daily ceiling to plan around.

No cost per lookup

Nothing is metered and nothing is billed per query. There are no credits to buy, top up, or watch drain mid-job.

No seats or tiers

Console, bulk enrichment, and the full REST API are included with every key. Nothing is held back behind an upgrade.

Fair-use burst limits keep the pool healthy and are reported on every API response — they throttle a runaway loop, not your day of work.

Bulk job

9f3c1a02 · email · all countries

completed
48,000 / 48,000100%
Exact31,200Fuzzy9,800No match7,000
85%matched

Throughput

1,200/s

Output

results.csv

Bulk enrichment

Enrich fifty thousand rows without writing a loop.

Upload a CSV or paste a list and Recon queues it, works through it on a background worker, and hands back a matched file. Progress streams into the console while it runs.

  • Deduplicated and header-aware input parsing
  • Resumable async jobs with live progress polling
  • One matched CSV out, ready for your CRM
  • Same engine behind the API and the console

Developer API

One endpoint per identifier. Bearer key. That's it.

Predictable JSON, no SDK required, and nothing billed per call - the same unlimited key powers the console and the API.

Request

bash
curl -X POST https://your-domain.com/api/v1/search/email \
  -H "Authorization: Bearer recon_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"query":"jane.smith@example.com","country":"US"}'

Response

json
{
  "ok": true,
  "type": "email",
  "count": 1,
  "results": [
    {
      "fullName": "Jane Smith",
      "email": "jane.smith@example.com",
      "phone": "+14155550132",
      "city": "San Francisco",
      "region": "CA",
      "country": "US"
    }
  ]
}

Security

Built like the data is dangerous.

Because it is. Access is narrow by construction and everything privileged leaves a trace.

Key-only access

There are no passwords and no public sign-up. Access is one secret key, and only its SHA-256 hash is ever stored - it cannot be read back.

Field-level encryption

Sensitive attributes are sealed with AES-256-GCM before they touch disk, with per-field authentication tags.

Hardened surface

A strict content-security policy on every response, TLS termination in front of the app, and no third-party scripts anywhere.

We record the lookup, not you

Your console history keeps the query and match count so you can retrace a job. No IP addresses, no device fingerprints, no third-party analytics.

Use cases

What teams do with Recon

01

Identity verification

Confirm a signup is a real, resolvable person before you extend credit or ship a product.

02

Lead enrichment

Turn a bare email list into names, phones, and locations in one bulk pass.

03

Fraud investigation

Pivot from one identifier to another across countries to map an actor's footprint.

04

Skip tracing

Fuzzy name and address matching surfaces records that exact search would miss.

Access is granted, not requested

Have a key? Start searching.

Sign in with the secret key you were issued and start searching straight away — every key includes the console, bulk enrichment, and the API, with unlimited lookups and nothing billed per search.