← Back to Blog
7 min read

How Do You Pull Utility Bills Automatically From Provider Portals Without an API?

Stylized landscape with teal and lilac dunes, dark mountains, and a pale sun over a purple sky

Utility providers built their billing infrastructure for a person logging into a website, not for software calling an endpoint. Deck exists because pulling bills automatically at scale means working around that gap directly: it’s a computer use agent platform that logs into any utility portal, retrieves the invoice, and returns it as structured data, whether or not that provider ever published an API.

This guide covers why the API gap exists, what people try instead, and the architecture that actually works for automated bill retrieval across dozens of providers.

Why Don’t Utility Providers Publish a Billing API?

A billing API would let third-party software pull invoice data directly from a provider’s system on a customer’s behalf, the way some modern platforms already expose data to approved integrations. Utility providers have never built the equivalent. There’s no requirement pushing them to publish one, and without that pressure, billing data stays locked behind a portal built for a person clicking through a browser, not for software calling an endpoint.

Con Edison has a customer portal with PDF bill downloads, but no public API. PG&E provides some data through its Green Button initiative, but coverage and reliability vary and it doesn’t extend to general invoice retrieval. Duke Energy exposes limited commercial account data in specific programs, none of it usable for a general invoice pull. Most regional and municipal utilities have no data-sharing program at all.

For a company pulling bills from five providers, that’s an inconvenience. For a company managing billing across dozens of providers, including regional water districts, municipal gas authorities, and telecom carriers, it’s a structural constraint that no amount of engineering against a nonexistent API will solve.

What Approaches Do People Try, and Where Do They Break Down?

Email forwarding paired with OCR only works for the subset of providers that email bills at all, and plenty only post invoices inside the authenticated portal. Even when it works, a provider updating its invoice template silently breaks a parser calibrated to the old layout.

Third-party bill aggregators require utilities to actively participate in their network, and most regional providers don’t. For a national enterprise with locations across 20+ states, a network covering major investor-owned utilities can still leave 20 to 30 percent of locations unaccounted for.

Traditional RPA tools like UiPath or Automation Anywhere can be scripted to log into a portal, but the maintenance cost compounds: portals change layout and break recorded scripts, MFA needs separate handling per provider, and session management requires ongoing upkeep. RPA holds up reasonably well against stable internal enterprise software. It’s a poor match for external, consumer-facing utility portals that were never designed with bots in mind.

What’s the Right Architecture for Automated Bill Retrieval?

User-permissioned agent access is an AI agent logging into a portal the way a person would, using real credentials the account holder has explicitly connected. This is different from screen scraping in an important way: the access is permissioned, credentials are stored securely, and the agent operates as an authorized user, not an unauthorized crawler.

The components that make this work:

How Do You Reconcile Invoices That Look Completely Different Across Providers?

Comcast formats its bill differently than National Grid. National Grid formats differently than a regional water authority. If each retrieved bill lands in a system in its native format, the automated retrieval has just replaced the manual logins and left the normalization problem intact.

Deck is a computer use agent platform that automates workflows by operating any web interface directly, so the target system never has to expose an API for it to work. It normalizes at the point of retrieval, so every bill, regardless of source format, returns with the same fields: vendor, account number, billing period, amount due, due date, and a line-item breakdown. With that shape consistent, an AP system, ERP, or property management platform doesn’t need to know which utility generated the invoice.

What Does Deck Provide for Automated Bill Retrieval?

Deck agents log into utility portals using credentials stored in Deck Vault, with MFA resolved without human intervention. Navigation runs through real browser sessions rather than hardcoded scraping scripts that break on layout changes. Coverage extends to any portal that requires a login, with no per-provider connector to set up and no partnership required. Retrieval runs on a set schedule or triggers on demand through the Deck API.

The result: invoices from Con Edison, Comcast, AT&T, Duke Energy, PG&E, National Grid, Xcel Energy, and regional providers all arrive in the same structured format, on schedule, without anyone logging in manually.

FAQs

What is the difference between a bill aggregator network and Deck?

A bill aggregator depends on utilities actively participating in its network, which leaves gaps wherever a provider hasn’t joined. Deck’s agents authenticate directly into any portal with a login, so coverage isn’t limited by which utilities have signed a partnership.

Does Deck work with municipal and regional utility providers that have no API?

Yes. Deck connects to any portal that requires a login, including municipal water authorities, regional electric cooperatives, and local telecom and waste providers that have never published an invoice API.

Is Deck a replacement for RPA tools like UiPath for utility bill retrieval?

For consumer-facing utility portals, yes. RPA scripts break when a portal changes layout and need manual rework, while Deck’s agents adapt to layout changes without a rebuild.

How does Deck handle bills that don’t share the same format across providers?

Deck normalizes every invoice to the same structure at the point of retrieval: provider name, account number, billing period, amount due, due date, and line items.

Ready to get started?

See how Deck can connect your product to any system — no APIs needed.

Build my Agent →

Related reading