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

Utility Bill Extraction API

Turn electricity, gas, water, and telecom bills into structured JSON. Provider, account number, service address, billing period, meter readings with consumption, every charge line, taxes, and the total due - typed and ready for accounts payable, cost allocation, or an energy report.

Get an API Key FreeRead the Docs

Consumption and Charges, Not Just the Amount Due

Send the bill and a schema. Meter readings come back with previous, current, unit, and consumption, and every charge line stays separate from the total.

request.sh
curl -X POST \
  https://api-parse.conversiontools.io/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@bill.pdf" \
  -F 'schema={
    "provider": "string",
    "account_number": "string",
    "service_address": "string",
    "billing_period_start": "date",
    "billing_period_end": "date",
    "due_date": "date",
    "meter_readings": [{
      "meter_id": "string",
      "previous": "number",
      "current": "number",
      "unit": "string",
      "consumption": "number"
    }],
    "charges": [{
      "description": "string",
      "amount": "number"
    }],
    "taxes": "number",
    "total_due": "number",
    "currency": "string"
  }'
response.json
{
  "status": "completed",
  "pages": 3,
  "data": {
    "provider": "Northvale Energy",
    "account_number": "8840-227-19",
    "service_address": "Unit 12, Kestrel Business Park, Sheffield",
    "billing_period_start": "2026-06-01",
    "billing_period_end": "2026-06-30",
    "due_date": "2026-07-21",
    "meter_readings": [
      {
        "meter_id": "E-4471902",
        "previous": 184320.0,
        "current": 191455.0,
        "unit": "kWh",
        "consumption": 7135.0
      }
    ],
    "charges": [
      { "description": "Standing charge, 30 days", "amount": 41.70 },
      { "description": "Day units, 7135 kWh", "amount": 1314.27 },
      { "description": "Climate levy", "amount": 58.90 }
    ],
    "taxes": 282.97,
    "total_due": 1697.84,
    "currency": "GBP"
  }
}

Built for AP, Expense, and Energy Reporting

Every provider formats a bill differently, and the number that matters is usually not the one in the big box.

Meter readings, not just totals

Previous and current readings, the unit, and the consumption for the period come back as fields, which is what an energy or emissions report actually needs. The amount due alone will never build a kWh baseline.

Charge lines stay separate

Standing charges, usage tiers, levies, and taxes remain their own lines instead of collapsing into one figure, so a site can be cost-allocated properly and an unexpected charge can be spotted the month it appears.

A portfolio of providers, one shape

A multi-site business gets bills from a different provider in every region, each with its own layout and its own wording for the same thing. One schema normalises them into one table.

Frequently Asked Questions

Which kinds of utility bills does it cover?

Electricity, gas, water, waste, and telecom bills all work, because extraction follows the schema you send rather than a fixed bill type. Fields that a given bill does not contain come back empty instead of breaking the request.

Can it extract meter readings and consumption?

Yes. Define meter_readings as an array and each meter comes back with its identifier, previous and current readings, unit, and consumption for the period. Sites with several meters or registers return one object per meter.

Do the charge lines come back separately from the total?

Yes. Standing charges, usage tiers, discounts, levies, and taxes are returned as individual charge lines alongside the total due, which is what makes a bill auditable instead of merely payable.

Can I process a whole month of bills at once?

Yes. Submit each bill to the extraction endpoint and poll or take a webhook per document. Repeated identical extractions are cached, so re-running a batch after a downstream fix does not consume your page allowance a second time.

How is billing 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.

Financial statement extraction

Line items and periods from balance sheets and reports.

Quotation extraction

Vendor quotes in one shape so you can compare them.

Payslip extraction

Earnings, deductions, taxes, and year-to-date totals.

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.

Turn a Pile of Bills into One Table

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