CFE Contigo RPU bills and outage data
CFE Contigo is the official Android self-care app of CFE SSB, the Play publisher for Comisión Federal de Electricidad, Mexico's federal electricity utility. Residential and small-business customers sign in with email and password, recover a forgotten password, or confirm an email one-time code, then land on a dashboard of the service numbers they manage. From there they open current and past receipts, pay with a Visa, Mastercard or American Express card kept on file, run a mid-cycle consumption simulator, file a reporte de no luz, book a slot at a Centro de Atención a Clientes, start a new-service contracting request, switch the account to paperless billing, manage saved cards, read in-app messages, and file an anti-corruption complaint about CFE field staff. The client is Spanish-language and nationwide — the official CFE consumer front rather than a competing utility — and sits beside other Mexican state-service apps. Google Play lists it at 4.8 stars.
Titular and tarifa rows on an RPU snapshot pin the holder name, tariff class, saldo, last reading and last consumption to one Mexican service number, while each factura period carries kwh, importe, importePendiente and fechaVencimiento. Mid-cycle simulator rows expose consumoActual versus importeFinalPeriodo; outage tickets add etaHours, folio and estatus; CAC booking returns horaSlot and cveCac; card-on-file charges come back with autorizacion and transactionId.
Energy-desk and billing teams can watch restoration clocks, reconcile kWh against pesos billed, and feed CAC hours into appointment bots. openData Studio turns that surface into callable open data.
Screenshots
API surface
Request/response examples are illustrative, reconstructed from the app's interface — not a live capture.
Mint access token
POST
/v1/auth/correo/sesionosintExchanges the holder's email and password for the access_token that gates every later RPU, bill, payment and outage call.
Auth: None on this call. Email and password (or a refresh_token) mint access_token, used as Authorization: Bearer on later calls.
- password
- grant_type
- access_token
- refresh_token
- created_at
- expires_in
- mustChangePassword
POST /v1/auth/correo/sesion HTTP/1.1 Content-Type: application/json { "email": "[email protected]", "password": "********", "grant_type": "password" }{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session", "refresh_token": "rt-cfe-7c11", "created_at": "2026-10-17T08:12:04-06:00", "expires_in": 3600, "mustChangePassword": false }Request email OTP
POST
/v1/auth/correo/otposintSends a one-time codigo to the email on the CFE account so a later verify step can mint a session without the stored password.
Auth: None. Registered email identifies the holder; the one-time codigo is consumed by a follow-up verify call before a session is minted.
- estado
- expiraEnMinutos
- mensaje
POST /v1/auth/correo/otp HTTP/1.1 Content-Type: application/json { "email": "[email protected]" }{ "estado": "ENVIADO", "expiraEnMinutos": 10, "mensaje": "Codigo enviado al correo" }List linked service numbers
GET
/v1/serviciosopendataReturns every RPU the signed-in holder has linked, with an optional alias and the latest facturaServicio balance row shown on ServicesActivity.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- rpu
- alias
- facturaServicio
- importe
- importePendiente
- periodo
- estado
GET /v1/servicios HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session{ "servicios": [ { "rpu": "123456789012", "alias": "Casa Roma Norte", "facturaServicio": [ { "importe": 842.5, "importePendiente": 842.5, "periodo": "2026-09", "estado": "PENDIENTE" } ] } ] }Service-number snapshot
GET
/v1/servicios/{rpu}opendataReturns the signed-in RPU snapshot used on the dashboard: holder, tariff, address, saldo, reconnection status and last reading/consumption.
Auth: Bearer access_token from POST /v1/auth/correo/sesion. Scoped to a linked rpu.
- rpu
- cuenta
- titular
- tarifa
- localizacion.direccion
- saldo
- cobranza
- estado
- estadoFacturacion
- estatusReconexion
- importeReconexion
- facturaElectronica
- indiceConsumo
- ultimaLectura
- ultimoConsumo
- facturas
GET /v1/servicios/123456789012 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session{ "rpu": "123456789012", "cuenta": "0011592481", "titular": "MARIA LOPEZ HERNANDEZ", "tarifa": "1C", "localizacion": { "direccion": "CALLE DURANGO 123, ROMA NORTE, CUAUHTEMOC, CDMX" }, "saldo": 842.5, "cobranza": "NORMAL", "estado": "ACTIVO", "estadoFacturacion": "FACTURADO", "estatusReconexion": "N/A", "importeReconexion": 0, "facturaElectronica": true, "indiceConsumo": 1.12, "ultimaLectura": 45821, "ultimoConsumo": 312, "facturas": [ { "periodo": "2026-09", "importe": 842.5, "estado": "PENDIENTE" } ] }List electricity bills
GET
/v1/servicios/{rpu}/facturasopenfinancePages the RPU factura history used by ReceiptActivity: billed kWh, pesos due, window dates and pending amount.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- rpu
- periodo
- fechaDesde
- fechaHasta
- fechaVencimiento
- kwh
- importe
- importePendiente
- estado
GET /v1/servicios/123456789012/facturas?limit=12 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session{ "rpu": "123456789012", "facturas": [ { "periodo": "2026-09", "fechaDesde": "2026-08-16", "fechaHasta": "2026-09-15", "fechaVencimiento": "2026-10-05", "kwh": 312, "importe": 842.5, "importePendiente": 842.5, "estado": "PENDIENTE" } ] }Charge a bill to a saved card
POST
/v1/pagosopenfinanceCharges the selected factura to a tokenised card and returns the autorizacion, voucher totals and comprobante folio.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- rpu
- periodo
- importe
- medioPagoId
- token
- transactionId
- autorizacion
- fecha
- serieFolioComprobante
- servicio
- voucher.total
- voucher.saldoRedimidoPesos
POST /v1/pagos HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "rpu": "123456789012", "periodo": "2026-09", "importe": 842.5, "medioPagoId": "card-visa-4411", "token": "tok_cfe_visa_4411" }{ "transactionId": "txn-9f21c4", "autorizacion": "884221", "fecha": "2026-10-17T09:04:11-06:00", "importe": 842.5, "medioPagoId": "card-visa-4411", "periodo": "2026-09", "serieFolioComprobante": "A-1048821", "servicio": "123456789012", "voucher": { "total": 842.5, "saldoRedimidoPesos": 0 } }List saved cards
GET
/v1/tarjetasopenfinanceReturns tokenised cards on file (Visa, Mastercard, American Express) with last4, BIN, recurrent-charge and points flags.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- id
- alias
- last4
- bin
- cardType
- tipo
- token
- permiteCargosRecurrentes
- permitePagoPuntos
- fechaCreacion
- fechaActualizacion
GET /v1/tarjetas HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session{ "tarjetas": [ { "id": "card-visa-4411", "alias": "Visa personal", "last4": "4411", "bin": "415231", "cardType": "VISA", "tipo": "CREDITO", "token": "tok_cfe_visa_4411", "permiteCargosRecurrentes": true, "permitePagoPuntos": false, "fechaCreacion": "2025-03-12T11:02:00-06:00", "fechaActualizacion": "2026-09-01T18:40:00-06:00" } ] }Mid-cycle consumption simulator
GET
/v1/servicios/{rpu}/simuladoropendataReturns the SimulatorActivity projection of kWh and pesos so far versus the estimated close of the billing period.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- rpu
- consumoActual
- consumoFinalPeriodo
- importeActual
- importeFinalPeriodo
- indiceConsumo
GET /v1/servicios/123456789012/simulador HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session{ "rpu": "123456789012", "consumoActual": 188, "consumoFinalPeriodo": 320, "importeActual": 410.2, "importeFinalPeriodo": 860.0, "indiceConsumo": 1.08 }Outage reports for a service number
GET
/v1/servicios/{rpu}/reportesopendataReturns whether a no-luz report is allowed on the RPU plus open tickets with ETA hours and SICOSS-style seguimiento status.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- rpu
- permitidos
- reclamacion
- servicioActivo
- codigo
- tipo
- detalle
- estatus
- etaHours
- activa
- fechaCreacion
- folio
- servicio
- solicitado
- ultimaModificacion
GET /v1/servicios/123456789012/reportes HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session{ "rpu": "123456789012", "permitidos": true, "reclamacion": false, "servicioActivo": false, "reportes": [ { "codigo": "NL-2026-441902", "tipo": "NO_LUZ", "detalle": "Sin suministro en toda la vivienda", "estatus": "EN_ATENCION", "etaHours": 4, "activa": true, "fechaCreacion": "2026-10-17T07:40:00-06:00", "rpu": "123456789012" } ], "seguimiento": { "folio": "NL-2026-441902", "estatus": "EN_ATENCION", "servicio": "123456789012", "solicitado": "2026-10-17T07:40:00-06:00", "tipo": "NO_LUZ", "ultimaModificacion": "2026-10-17T08:10:00-06:00" } }Nearby customer-service centres
GET
/v1/cac/centrosopendataLists CFE Centros de Atención a Clientes near a postcode or coordinate, with hours, distance and settlement name.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- id
- cveCAC
- nombreAsentamiento
- tipoAsentamiento
- direccion
- codigoPostal
- municipio
- entidadFederativa
- latitud
- longitud
- distanciaKm
- horarioLunesAViernes
- ultimaSincronizacion
GET /v1/cac/centros?codigoPostal=06700&latitud=19.419&longitud=-99.162 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session{ "centros": [ { "id": "cac-09015", "cveCAC": "09015", "nombreAsentamiento": "Roma Norte", "tipoAsentamiento": "Colonia", "direccion": "Av. Insurgentes Sur 123", "codigoPostal": "06700", "municipio": "Cuauhtemoc", "entidadFederativa": "CDMX", "latitud": 19.4194, "longitud": -99.1621, "distanciaKm": 1.2, "horarioLunesAViernes": "08:00-16:00", "ultimaSincronizacion": "2026-10-16T22:00:00-06:00" } ] }Book a CAC appointment
POST
/v1/citasopendataBooks a CAC slot for a trámite on the given RPU and returns the folio, hour slot and cancel/update flags.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- rpu
- cveCac
- fecha_cita
- hora_cita
- id_tramite
- nombre
- correo
- telefono
- id
- folio
- centroAtencionId
- centroAtencionNombre
- fecha
- horaSlot
- fechaHoraCita
- numeroServicio
- tramiteId
- clienteCorreo
- estado
- puedeActualizar
- puedeCancelar
POST /v1/citas HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "rpu": "123456789012", "cveCac": "09015", "fecha_cita": "2026-10-21", "hora_cita": "10:30", "id_tramite": "TR-ALTA", "nombre": "Maria Lopez Hernandez", "correo": "[email protected]", "telefono": "5512345678" }{ "id": "cita-77821", "folio": "CAC-2026-77821", "cveCac": "09015", "centroAtencionId": "cac-09015", "centroAtencionNombre": "CAC Roma Norte", "fecha": "2026-10-21", "horaSlot": "10:30", "fechaHoraCita": "2026-10-21T10:30:00-06:00", "numeroServicio": "123456789012", "tramiteId": "TR-ALTA", "clienteCorreo": "[email protected]", "estado": "AGENDADA", "puedeActualizar": true, "puedeCancelar": true }Contracting folio status
GET
/v1/folios/{folio}opendataReturns the HowToContract / Contratacion folio: step, rejected documents, estimated wait and holder address.
Auth: Bearer access_token from POST /v1/auth/correo/sesion.
- folio
- titular
- direccionServicio
- estado
- paso
- fechaSolicitud
- tiempoEstimado
- tiempoEstimadoNota
- documentosRechazados
- motivoCancelacion
- mensaje
GET /v1/folios/CT-2026-009184 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session{ "folio": "CT-2026-009184", "titular": "MARIA LOPEZ HERNANDEZ", "direccionServicio": "CALLE DURANGO 123, ROMA NORTE, CUAUHTEMOC, CDMX", "estado": "EN_REVISION", "paso": "DOCUMENTOS", "fechaSolicitud": "2026-10-02", "tiempoEstimado": "10 dias habiles", "tiempoEstimadoNota": "Sujeto a inspeccion en sitio", "documentosRechazados": [], "motivoCancelacion": null, "mensaje": "Documentacion en revision" }
Data categories
- service numbers
- bills
- payments
- cards
- consumption
- outages
- appointments
- contracting folios
Where teams use this data
Outage-desk ETA feed
A municipal or building ops board polls no-luz tickets per RPU and shows etaHours, folio and estatus so staff know which supply points still have an active restoration clock.
Bill and kWh reconciliation
Finance bots pull factura rows (kwh, importe, importePendiente, periodo) against card charges (autorizacion, transactionId) to match pesos billed with pesos collected.
CAC appointment capacity
A scheduler reads nearby centros (cveCAC, horarioLunesAViernes, distanciaKm) and booked horaSlot rows to fill remaining trámite capacity without double-booking a centre.
New-service folio tracker
A contractor dashboard watches contracting folios for paso, documentosRechazados and tiempoEstimado so site teams know when documents bounce or an inspection window opens.
Frequently asked questions
How does CFE Contigo identify a supply point?
Each linked meter is an RPU with an optional alias. The snapshot adds titular, tarifa, cuenta, service address, saldo, last reading and last consumption for that number.
Which fields describe an unpaid bill?
A factura row carries periodo, fechaDesde, fechaHasta, fechaVencimiento, kwh, importe, importePendiente and estado. A successful card charge returns autorizacion, transactionId, serieFolioComprobante and voucher totals.
How are outages and CAC visits represented?
A no-luz ticket exposes codigo, etaHours, estatus and a seguimiento folio. A Centro de Atención a Clientes is a cveCAC with hours and coordinates; a booked visit returns horaSlot, folio and cancel/update flags.
What payment instruments appear on a successful charge?
Saved cards are Visa, Mastercard or American Express tokenised rows with last4, BIN, recurrent-charge and points flags. The charge itself is keyed by medioPagoId and the card token.
Apps similar to CFE Contigo
- SAT Móvil — SAT Móvil is the Tax Administration Service's official Android client, where individual taxpayers sign in with RFC and password to pull a tax-status certificate, tax ID card, and mailbox messages.
- IMSS Digital — IMSS Digital is the Mexican Social Security Institute's public app for locating clinics, registering or changing an NSS and clinic, checking coverage rights, and booking medical appointments.
- App CDMX — App CDMX is Mexico City's official services client, grouping public-transport routes, digital documents, security modules and a city events calendar on one home screen.
- Mi Telcel — Mi Telcel is América Móvil's self-care app for Telcel lines in Mexico, used to top up prepaid saldo, pay a postpaid bill by card, and download previous statements.
- Telmex — The Telmex app lets Infinitum and landline customers consult and pay the Telmex receipt, turn on digital billing, and open a 24/7 support chat.
- PLN Mobile — PLN Mobile is PT PLN's official electricity self-care app in Indonesia for buying prepaid tokens, paying postpaid bills, filing complaints, and requesting a new connection or extra load.
- Saudi Energy — Saudi Energy is Saudi Electricity Company's self-care app for managing contract accounts, viewing consumption, paying bills, and submitting electricity service requests.
- Enel São Paulo — Enel São Paulo is ENEL BRASIL's customer app for the São Paulo distribution concession, covering bill copies, payment, outage reports, reconnection and self meter reading.
Topics
- CFE Contigo API
- RPU CFE bill
- importePendiente kwh
- reporte no luz etaHours
- CAC cita horaSlot
- CFE card token last4
- simulador consumoActual
- folio contratacion CFE
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use