Los Angeles City Checkbook - Every City Payment, Line by Line avatar

Los Angeles City Checkbook - Every City Payment, Line by Line

Pricing

from $0.03 / 1,000 los angeles payment records

Go to Apify Store
Los Angeles City Checkbook - Every City Payment, Line by Line

Los Angeles City Checkbook - Every City Payment, Line by Line

Checkbook L.A. - every transaction the City of Los Angeles has paid (public open data, 6.52M invoice lines, FY2018-today): vendor, department, fund, account, expenditure type and payment method, plus the purchase order behind each line. Filter by vendor, department, amount or date.

Pricing

from $0.03 / 1,000 los angeles payment records

Rating

0.0

(0)

Developer

Wenhao Yang

Wenhao Yang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Checkbook L.A. - every transaction the City of Los Angeles has paid, straight from the Controller's open checkbook. 6.52 million invoice lines, from fiscal 2018 through today.

Low cost

From $0.00005 per record, down to $0.00003 at Gold. Pay only for the records you actually receive - the whole register stays queryable, you are never billed for the scan behind it.

What you get

One row per invoice line the City paid, with the full procurement chain attached to it:

  • Who was paid - vendor name, vendor id and supplier city/country
  • Who spent - the department, program, business unit and buying organization
  • Out of what - the fund group, fund type, fund, account and account code
  • On what - the expenditure type, item code and description
  • How much - the line amount, the payment method and status
  • Tied back to - the purchase order and its date, the invoice and its due date, and the line number on each

Filter it

  • Vendor - vendorName="HEIL" finds every payment to that supplier.
  • Vendor by id - vendorId="100004988" follows one supplier across its name variants.
  • Department / program - departmentName="POLICE", program="SENIOR SERVICES".
  • Where the money came from - fundType="SPECIAL REVENUE", fundName="OMBUDSMAN".
  • Amount - minAmount=1000000 for seven-figure lines.
  • Date - txnFrom="2026-01-01" for this year's payments.
  • Fiscal year - fiscalYear=2026.

Example inputs

Payments to one supplier - vendorName is a substring match.

{ "vendorName": "HEIL", "maxResults": 25 }

One department, one year - combine department and date.

{ "departmentName": "PUBLIC WORKS - STREET SERVICES", "txnFrom": "2026-01-01", "maxResults": 50 }

The largest payments - seven figures and up.

{ "minAmount": 1000000, "maxResults": 50 }

Where the money goes - mode=aggregate returns one count row per department; every group comes back.

{ "mode": "aggregate", "groupBy": "departmentName" }

Or roll it up

Set mode=aggregate and get a rolled-up count by fiscal year, department, fund type, fund group, government activity, expenditure type or payment method. Every group comes back - this mode is not cut off by maxResults.

Then follow the money

  • Every line a supplier has been paid by the City, and for what.
  • A department's spend by fund, by expenditure type, by month.
  • Enterprise (Water and Power, Harbor) vs. General Fund spend, side by side.
  • The biggest payments - newest first.

Example output

One payment line - vendorName=HEIL:

{
"platform": "la-city-checkbook",
"source": "los-angeles-city-checkbook",
"mode": "rows",
"transactionDate": "2026-09-09",
"transactionId": "EPAY26270000000585",
"vendorName": "THE HEIL CO",
"vendorId": "000045316",
"amount": "150",
"departmentName": "GENERAL SERVICES",
"fundType": "GENERAL FUND",
"expenditureType": "SUPPLIES & OTHER SERVICES",
"paymentMethod": "EFT",
"paymentStatus": "PAID",
"poNumber": "CPO40270000407919"
}

mode=aggregate, groupBy=departmentName - one count row per department:

GENERAL SERVICES 1,434,908
WATER AND POWER 836,701
RECREATION AND PARKS 565,070
POLICE 373,112
NON-DEPARTMENTAL - APPROPRIATIONS 314,295
PUBLIC WORKS - STREET SERVICES 304,092
FIRE 265,807

Notes on the data, from the source

  • A row is an invoice line, not a payment. One payment authorization pays many invoices and an invoice carries many lines. transactionId is the payment; the amount is the line.
  • Reversals are in here. A low tens of thousands of rows are negative - real accounting entries, returned as they stand. Set minAmount=0.01 for spending only.
  • The fiscal year column carries a few stray rows - a handful in 2006-2011 against the hundreds of thousands in a real year. Filtering fiscalYear is exact, so those rows only appear if you ask for them.
  • sourceUpdatedAt carries the newest transaction date, the freshness signal an agent can read without running the actor.