Verification is an add-on, enabled per account. If your plan does not
include it, contact your Crustdata account team. Verification jobs are not
billed today.
How a profile is checked
For each person the service runs three checks, then asks a language model to weigh the whole picture:- Dates: a full-time job that overlaps full-time study by more than six months is flagged.
- Social graph: the person’s own recent posts are fetched. The people who reacted or commented are looked up in the Crustdata people database and matched to the claimed employer. Coworker engagement can lift a verdict to
probably_genuine, never higher. - Web search: the model searches the web for independent evidence of the current role. Profile mirror sites that only restate the claim carry no weight.
past_roles_unverified flag instead of dragging the verdict down.
A job usually finishes in a minute or two.
Submit a job
POST /batch/person/verify takes professional_network_profile_urls, a list
of person profile URLs, with up to 10 values per job for now. Sending none
returns 400.
You can also pass webhook_url, a URL on your side. When the job finishes,
Crustdata sends a POST to it with the download link, so you do not have to
poll. See Skip polling with webhooks.
action is verify wherever you poll or list jobs.
Poll for the results file
PollGET /batch/{batch_id} until status is completed. The response then
carries download_url, a link to a gzipped JSON lines file with one record
per person. The link expires after 5 days.
Read the results
When the job completes, each line in the downloaded file is one person wrapped in the standard batch envelope.original_identifier echoes the URL you
sent, and internal_id is the numeric Crustdata person ID.
One record from the results file
reasoning and cited_text are shortened here. A profile that cannot be
resolved, or whose check fails, is left out of the results file rather
than written as an error, so result_count can be lower than
identifier_count.Fields in data
Verdicts
Coverage counts
posts_unavailable means no posts were retrieved. It cannot tell a retrieval
failure from a person who never posts, so read a cannot_verify with this flag
as “unchecked” rather than “suspicious”.
Rate limits
Submissions are limited to 5 per minute, and verify jobs count toward the live pool of active jobs. See Rate limits.Errors
Sending a body withoutprofessional_network_profile_urls returns 400 with
error.type of invalid_request.
What to do next
- Need the full profile too? See Person Batch Enrich to pull the record you are verifying.
- Only have emails? Person Batch Identify resolves them to profiles first.

