One URL in, the person out

Turn a LinkedIn profile URL into a structured person record

One POST with a profile URL returns the full person as typed JSON: headline and location, every role with its dates, job description and employer identifiers, education, skills and certifications, ready to join downstream.

Trusted by the best GTM teams

A record built like an API response, not a copy of a profile page

A profile URL is the smallest honest input in B2B data: no name collisions, no domain guessing, exactly one person.

Typed fields, not text blobs

Experience comes back as experiences[], one object per position with start and end dates, a job_is_current flag, the job description and the work location. Education, skills and certifications are arrays you can map straight into a schema. Nothing left to parse.

Current by design

The record reflects where the person works now. Job changes are detected, and stale records are removed from live circulation, so yesterday's title does not ship as today's answer.

Keys that survive your joins

The record carries the person's canonical LinkedIn URL, and every position carries the employer's LinkedIn URL, LinkedIn ID and domain: stable handles for resolving the same person and the same company across a CRM, a warehouse and a vendor export, however differently each of them spells the name.

An output that chains

This is the profile-first counterpart to the reverse lookups: use it when you already hold a LinkedIn URL and want the whole career, not a single contact point. Pass the same URL to Email Enrichment or Phone Enrichment when you also need a way to reach the person.

From URL to typed record

One endpoint, POST /v2/enrichment/person (Person Enrichment in the API reference), turns a profile link into structured JSON.

  1. Send the URL

    POST the person's LinkedIn URL as person_linkedin_url. That is the whole request body; no name, no company, no guessing on your side.

  2. We resolve the person

    The URL is matched against 550M+ profiles. Every response carries found: on true, person holds the full profile; on false, person is null and nothing is counted.

  3. Read the record

    The full record lands in typed fields: identity, headline, about, location and connections count, then experiences[], education[], skills[] and certifications[], each one ready to map into a schema.

  4. Write it back, or chain it

    Pass the LinkedIn URL straight into email or phone enrichment, or write the record back to your CRM and join on the employer identifiers carried by each position.

The endpoint

One POST, the typed person record

The Profile Enrichment API takes a public LinkedIn profile URL and returns the person as typed JSON: names, headline, about, location, connections, every experience with its dates and employer identifiers, education and skills.

POST/v2/enrichment/person
curl -X POST https://api.blitz-api.ai/v2/enrichment/person \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"person_linkedin_url":"https://www.linkedin.com/in/example-person"}'
200 OKfoundperson.full_nameperson.headlineperson.locationperson.experiencesperson.educationperson.skills

ENRICHMENT

Every enrichment endpoint returns the same structured record, whatever you send in.

API Docs
Maya ChenRAWRESOLVED

Frequently asked questions

What does the response contain?

A found flag and a person object. The person carries first name, last name, full name, headline, about, location (city, state code, country code, continent), the canonical LinkedIn URL and the connections count, then experiences[] (company name, job title, company LinkedIn URL, LinkedIn ID and domain, job description, start and end dates, a job_is_current flag, contract type, work arrangement and job location), education[] (school, degree, dates), skills[] and certifications[]. Fields are typed, so an experience entry is an object with dates, not a paragraph to parse.

What happens when the profile cannot be found?

The response comes back with found: false and person: null, and nothing is counted against your plan. Only a successful enrichment counts, as one record under your fair use policy.

When should I use it rather than a reverse lookup?

Profile Enrichment is the profile-first counterpart to Reverse Email Lookup and Reverse Phone Lookup. Start here when you already hold a LinkedIn URL and want the whole career; start from the reverse lookups when all you hold is an email or a US phone number and need the person behind it.

How current is the record?

The record reflects the person's current position: job changes are detected, and stale records are removed from live circulation. B2B data decays roughly 3-5% per month; re-enriching from the stored URL is how teams keep up.

Can I run it at CRM scale?

Yes. Scale runs at 25 requests per second per endpoint under a fair use policy of 5,000,000 records a month, and Build Your Infra goes beyond with a custom volume. Refreshing a full CRM from stored URLs is a batch job, not a project.

Is there an API that turns a LinkedIn URL into structured person data?

Yes. POST /v2/enrichment/person takes a public LinkedIn profile URL and returns the person as structured JSON, with a found flag to test before you map fields. The record is typed and stable from one call to the next, built like an API response rather than a copy of the page.

Data shouldn't be
the problem

Grab. Connect. Build.