Structure · Profile Parsing API

Turn resume documents into structured profile data.

Upload one resume document or image. ProfileOut extracts and labels the available information asynchronously, then returns a JSON result for your application.

PDF PNG JPEG TIFF Labeled JSON
Profile Parsing API Resume file → labeled JSON
STRUCTURE
INPUT
Alex Kim
Backend Engineer
Example Labs
Toronto, Canada

Designed APIs and data services.
Java · Python
JSON
{
  "info": {
    "name": "Alex Kim"
  },
  "experiences": [
    {
      "company_name": "Example Labs",
      "job_title": "Backend Engineer"
    }
  ]
}

Quick Facts

The file-parsing workflow at a glance.

Inputs PDF · PNG · JPEG · TIFF
Output Labeled profile JSON
Credits 2 / file upload
Max file 10 MiB · one file
Processing Asynchronous processing
Best for Resume ingestion and structuring

How It Works

From a resume file to a labeled JSON result.

Upload a supported file, save request_id, and poll for the completed result. Available fields depend on the document and parsing schema.

01

Resume parsing workflow

One supported file per multipart request; no additional form fields.

  1. 01 Upload One supported file
  2. 02 Save ID Accepted request
  3. 03 Poll status Wait at least 5 seconds
  4. 04 Read result Check terminal state
  5. 05 Use JSON Validate nested fields
Accepts
PDF PNG JPEG TIFF
Returns
Labeled JSON

Document to JSON

Give document content a structured form.

Read the available identity and career information as JSON. The preview illustrates a possible output, not a guarantee that every field will be present.

Before

Resume file content

UNSTRUCTURED
Alex Kim
Backend Engineer
Example Labs
Toronto, Canada

Designed APIs and data services.
Java · Python
After Illustrative result excerpt
JSON
{
  "info": {
    "name": "Alex Kim"
  },
  "experiences": [
    {
      "company_name": "Example Labs",
      "job_title": "Backend Engineer"
    }
  ]
}

Illustrative file content and result excerpt. Nested parsing fields can be absent or have varying types; they do not automatically share the People Data schema.

Capabilities

Structure the professional data your systems already receive.

Extract and label information from customer-submitted resumes for your own application workflows.

01

Document ingestion

Upload one PDF resume using the multipart file field.

02

Image file input

Supported image formats are PNG, JPEG, and TIFF. The file extension must match its contents.

03

Structure understanding

Identify professional sections and entities before mapping them into structured fields.

04

Labeled profile information

Read extracted details and inferred classifications where present. Inferred labels are not independently verified facts.

05

Asynchronous processing

Use the saved request ID to follow queued, processing, completed, or failed states.

06

JSON result access

Read the parsed JSON object directly from result. Original file contents and storage paths are not returned.

Integration

Upload one file. Read the result by request ID.

These server-side examples upload one PDF. Let the client set the multipart boundary. Save request_id, then poll GET /v1/profile-parsings/{request_id} at the returned interval until completed or failed.

curl --request POST 'https://api.profileout.com/v1/profile-parsings' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --form 'file=@resume.pdf'

Parsing Output

A stable request envelope, document-dependent fields.

The completed response excerpt below is illustrative. Validate nested field presence and types rather than assuming every example field exists.

Profile Parsing response Completed response · excerpt
200 OK
{
  "request_id": "22222222-2222-4222-8222-222222222222",
  "status": "completed",
  "result": {
    "info": {
      "name": "Alex Kim"
    },
    "experiences": [
      {
        "company_name": "Example Labs",
        "job_title": "Backend Engineer"
      }
    ]
  }
}

Use Cases

Structure resume data before the next system uses it.

Profile Parsing fits resume ingestion workflows across products, data platforms, and recruiting technology.

People-data Products & Marketplaces

Convert uploaded resume documents or images into structured application records.

Ingestion Profile data

Data Enrichment

Extract available profile information from resumes before mapping it into your own record model.

Migration Normalization

AI Agents & Data Products

Prepare cleaner structured people data for downstream models, agents, analytics, and internal data workflows.

AI systems Data pipelines

Recruiting & HR Tech

Normalize resumes and candidate documents before storing, enriching, matching, or searching professional records.

Recruiting ATS

Pricing Rule

2 credits per file upload.

Each accepted file upload reserves 2 credits. Successful completion charges the credits; failed work releases them.

See Pricing
2 credits

per accepted file upload

Accepted file upload
2 credits reserved
Completed request
2 credits charged
Failed work
Reserved credits released
Credit balance
Shared across ProfileOut APIs

Trust & Limits

Make parsing behavior explicit before production.

File coverage, language support, missing fields, and processing behavior matter as much as a clean example response.

01 · INPUTS

Supported source types

Accepts one non-empty PDF, PNG, JPEG, or TIFF file. DOCX, raw-text JSON bodies, and batch uploads are not supported.

02 · COVERAGE

File & request limits

Each file must be at most 10 MiB (10,485,760 bytes). The documented allowance is 100 new parsing requests per hour per account.

03 · NORMALIZATION

Missing or ambiguous fields

Nested fields may be omitted or vary in type. A completed result does not establish that every field was extracted or verified.

04 · PROCESSING

Execution & retention

Processing is asynchronous. Save results you need to retain; access to completed results can expire according to administrator settings.

FAQ

Profile Parsing API questions.

What does Profile Parsing accept?

The endpoint parses customer-submitted resume files in the documented formats. It does not accept arbitrary person JSON or raw text as alternative request bodies.

What inputs can I send?

Send exactly one file field in multipart/form-data. Supported formats are PDF, PNG, JPEG (.jpg or .jpeg), and TIFF (.tif or .tiff).

What does the API return?

The response includes request_id, status, and result. After completion, result is the parsed JSON object; while pending or failed it is null.

Are nested profile fields guaranteed?

No. Fields and types depend on the document and parsing schema. Example groups include info, experiences, and educations, but the API does not guarantee every nested field.

What size file can I upload?

The file must be non-empty and at most 10 MiB (10,485,760 bytes). Its extension must match its contents. Test representative files rather than assuming a language or extraction guarantee.

How should I handle missing fields?

Check whether each field exists and whether its type is usable for your application. Missing values do not automatically mean false, and successful processing does not guarantee completeness.

How is Profile Parsing different from People Data API?

Profile Parsing structures a resume file you upload. People Data retrieves a labeled profile from a supported social account identifier.

Turn resume files into usable structured data.

Test a supported resume file, inspect the result, and map the available fields into your application.