ParseParse
Use CasesDocsAPI Reference
Log InGet Started Free
Menu
  • How it works
  • Use Cases
  • Docs
  • API Reference
  • Contact
REST API · Pay stub to JSON · 100 free pages/mo

Payslip Extraction API

Read payslips and pay stubs into structured JSON. Gross and net pay, every earning line, every deduction, every tax, and the year-to-date columns - typed as numbers you can add up and check against the printed totals.

Get an API Key FreeRead the Docs

Earnings, Deductions, and Taxes, Line by Line

Send the payslip and a schema. The three blocks come back as separate arrays of numbers, so gross minus deductions minus taxes becomes something you verify rather than something you trust.

request.sh
curl -X POST \
  https://api-parse.conversiontools.io/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@payslip.pdf" \
  -F 'schema={
    "employee_name": "string",
    "employee_id": "string",
    "employer": "string",
    "pay_period_start": "string",
    "pay_period_end": "string",
    "pay_date": "string",
    "gross_pay": "number",
    "net_pay": "number",
    "earnings": [{
      "type": "string",
      "hours": "number",
      "rate": "number",
      "amount": "number"
    }],
    "deductions": [{ "type": "string", "amount": "number" }],
    "taxes": [{ "type": "string", "amount": "number" }],
    "ytd_gross": "number",
    "ytd_net": "number"
  }'
response.json
{
  "status": "completed",
  "pages": 1,
  "data": {
    "employee_name": "Tomas Reinholt",
    "employee_id": "EMP-40277",
    "employer": "Cedarline Manufacturing",
    "pay_period_start": "2026-02-01",
    "pay_period_end": "2026-02-15",
    "pay_date": "2026-02-20",
    "gross_pay": 3096.00,
    "net_pay": 2060.86,
    "earnings": [
      { "type": "Regular", "hours": 80.0, "rate": 36.00, "amount": 2880.00 },
      { "type": "Overtime", "hours": 4.0, "rate": 54.00, "amount": 216.00 }
    ],
    "deductions": [
      { "type": "Health insurance", "amount": 142.50 },
      { "type": "Retirement plan", "amount": 154.80 }
    ],
    "taxes": [
      { "type": "Federal income tax", "amount": 372.40 },
      { "type": "State income tax", "amount": 128.60 },
      { "type": "Social security", "amount": 191.95 },
      { "type": "Medicare", "amount": 44.89 }
    ],
    "ytd_gross": 9288.00,
    "ytd_net": 6182.58
  }
}

Built for Payroll, Lending & HR

Every employer prints a payslip differently and every country adds its own statutory lines. The arithmetic underneath never changes.

Numbers you can reconcile

Amounts come back as typed numbers, not strings with currency symbols glued on. Your job can sum the earning lines, subtract deductions and taxes, and compare the result to the printed net pay.

Country-specific deduction lines

Pension, social contributions, union dues, garnishments, statutory levies - the deduction and tax arrays hold whatever that payslip actually lists, so a new jurisdiction does not mean a new integration.

Year-to-date alongside the period

An income check usually needs the cumulative figures, not a single fortnight. YTD gross and net are captured as their own fields, so a lender or an auditor gets both views from one pass.

Frequently Asked Questions

Can it read payslips from different countries?

Yes. Layouts, statutory line names, and date formats vary by country and by employer. You describe the fields you want and each payslip is mapped onto them, so a payroll run spanning several countries lands in one consistent shape.

Do the extracted totals reconcile?

Amounts come back as numbers, so you can sum the earning lines yourself, subtract deductions and taxes, and compare against gross_pay and net_pay. Keeping that check in your own code is the honest way to catch a bad scan before it reaches a decision.

What about multi-page files or several employees in one PDF?

A payroll export often bundles many employees into a single file. Declare the top level of your schema as an array and each employee comes back as its own object, instead of only the first page being read.

Does it handle photos of pay stubs?

Yes. Applicants photograph a pay stub with a phone far more often than they export a clean PDF. OCR is applied automatically, so a photo goes through the same endpoint with no separate pre-processing step.

How is payroll data handled?

Uploaded documents are deleted automatically within 24 hours. Extracted data is encrypted in transit and at rest and is never used to train models.

More document extraction use cases

The same schema-driven API works across every document type. Define a schema once, extract from thousands of files.

Data Extraction API

Extract structured JSON from any document with custom schemas.

PDF Parsing API

Parse any PDF into structured JSON, scanned or digital.

Invoice extraction

Vendor, line items, totals, tax, and dates from invoices.

Receipt parsing

Store, items, totals, and payment method from receipts.

Purchase order extraction

PO number, vendor, buyer, and SKU-level line items.

Bank statement to JSON

Transactions, running balances, and dates for reconciliation.

Tax form extraction

Box-level data from W-2, 1099, and other tax forms.

Contract data extraction

Parties, dates, governing law, and key clauses.

Bill of lading extraction

Carrier, parties, ports, containers, and cargo.

Credit note extraction

Credit amounts matched back to the original invoice.

Remittance advice extraction

Payments split across invoices for cash application.

Utility bill extraction

Meter readings, charges, and totals from any provider.

Financial statement extraction

Line items and periods from balance sheets and reports.

Quotation extraction

Vendor quotes in one shape so you can compare them.

Resume parsing

Experience, education, and skills from any CV layout.

ID document extraction

Fields and MRZ from passports and ID cards.

Lease agreement extraction

Rent, term, deposits, and renewal deadlines.

Insurance claim extraction

Claim and policy numbers, dates, and claimed amounts.

Packing list extraction

Packages and SKU-level lines for receiving.

Delivery note extraction

Ordered versus delivered quantities and sign-off.

Get Payroll Data Out of PDFs

Free tier covers your first 100 pages a month. No credit card to start.

Get Started FreeAPI Reference
Parse

AI-powered document data extraction

Conversion ToolsPowered by Conversion Tools

Use cases

  • Data Extraction API
  • PDF Parsing API
  • Invoice extraction
  • Receipt parsing
  • Purchase order extraction
  • Bank statement to JSON
  • Tax form extraction
  • Contract data extraction
  • Bill of lading extraction

Developers

  • How it works
  • Quickstart
  • Documentation
  • API Reference
  • n8n integration
  • Blog

Account

  • Log in
  • Contact
  • Security
  • Privacy Policy
  • Terms of Service
  • Refund Policy
© 2026 Conversion Tools