Connecticut Open Expenditures - Every State Payment avatar

Connecticut Open Expenditures - Every State Payment

Pricing

from $0.03 / 1,000 connecticut payment records

Go to Apify Store
Connecticut Open Expenditures - Every State Payment

Connecticut Open Expenditures - Every State Payment

Every payment Connecticut's state government made for goods and services (public open data, ~6.16M payment lines, FY2020-2027): service, department, program, expense category, fund and type, vendor with exact vendor id, payment method and status, payment and invoice dates, and amount.

Pricing

from $0.03 / 1,000 connecticut 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

Every payment the State of Connecticut made for goods and services, straight from the State's open expenditure ledger. ~6.17 million payment lines, from fiscal 2020 through fiscal 2027.

Low cost

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

What you get

One row per payment line, with the full money trail attached:

  • Who was paid - vendor name, plus the exact vendor id (a stable key, unlike the free-text name)
  • What kind of vendor - Corporation, LLC, Sole Proprietor, Non-Profit, P-card Merchant, Governmental
  • Who paid - the government function, the department (agency) and the budget program, and the account
  • What for - the expense category, from the State's own chart
  • Out of what - the fund and the fund type (General, Special Revenue, Capital Projects, Enterprise)
  • When and how - payment date, invoice date, payment method and status
  • How much - the amount, plus the contract and purchase-order references behind it

That is the full chain: function -> department -> program -> expense -> fund -> vendor -> amount.

One thing to know up front

The State publishes this ledger as two near-duplicate tables - corpus=current (Ledger Current, the default) and corpus=archive (Ledger Archive) - and they cover the same payments. As of 2026-10-01 their per-fiscal-year row counts run ~1.7-2.5% apart (FY2027, the current year, is ~62% apart, since it is mid-year) - they are almost the same payments, but not byte-for-byte. Read one; never sum them.

Which table advances tracks the State's migration - and the labels inverted during a Sep-2026 maintenance window. As of 2026-10-01 the default current is the live one (payments through 2026-09-30) while archive stopped at 2026-09-25 - so the default already gives you the freshest data, and you only pass corpus to reach the other table deliberately.

Filter it

  • Vendor - vendor="Amazon" (substring) or vendorId="0000053057" (exact).
  • Function, department, program - service="HEALTH", department="Transportation" (agencies, ~90 of them), program="Tax Relief" (budget programs, ~3,400 of them). department and program are normalized across both tables, so the same field means the same thing whichever corpus you read.
  • Expense category - expenseCategory="State Aid", expenseCategory="Electricity". 387 categories in total.
  • Fund - fund="Federal" (the fund name, substring) or fundType="GENERAL" (the fund category: General, Special Revenue, Capital Projects, Enterprise, Agency, Internal Service, Pension Trust, Other Trust Funds - 8 in all).
  • Vendor type - Corporation, Non-Profit, Sole Proprietor
  • Amount - minAmount=1000000 for seven-figure payments.
  • Date range and last-N-days.

Example inputs

Payments to one supplier - vendor is a substring match.

{ "vendor": "AMAZON", "maxResults": 25 }

One function's spending on one thing - combine function and category.

{ "service": "TRANSPORTATION", "expenseCategory": "Highway", "maxResults": 50 }

The largest payments - seven figures and up.

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

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

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

Or roll it up

Set mode=aggregate and get a rolled-up count by service, department, program, expense category, fund, fund type, payment status, payment method, vendor type, fiscal year or fiscal year period. Every group comes back - not cut off by maxResults. The default dimension is service (10 values); program has ~3,400 values and returns a long result.

Then follow the money

  • Total state spending by function or department, over any window.
  • Every payment a supplier has received from the State, and for what.
  • General, Special Revenue, Capital Projects and Enterprise spend, side by side - or the fund breakdown, federal money included.
  • Payments by method and status - what clears, what is stopped or void.
  • The biggest payments, newest first.

Example output

One payment line - vendor="CDW", default corpus:

{
"platform": "ct-open-expenditure",
"source": "ct-open-expenditures-current",
"mode": "rows",
"groupKey": "",
"groupCount": "",
"groupBy": "",
"fiscalYear": "2027",
"fiscalYearPeriod": "3",
"service": "EDUCATION",
"department": "State Dept of Education",
"program": "CT Tech Educ and Career Sys",
"account": "54154",
"expenseCategory": "IT Hardware Non-Controllable",
"fundCode": "11000",
"fund": "General Fund",
"fundType": "GENERAL",
"vendor": "CDW GOVERNMENT LLC",
"vendorId": "0000010232",
"vendorType": "LLC - Corporation",
"paymentId": "0020327484",
"paymentCount": "1",
"paymentMethod": "Automated Clearing House",
"paymentStatus": "Paid-Unreconciled",
"paymentDate": "2026-09-29T00:00:00.000",
"paymentDescription": "Paid",
"invoiceId": "TECM100109994",
"invoiceDate": "2026-09-29T00:00:00.000",
"invoiceLineNumber": "1",
"amount": "250.14",
"contractNumber": "24PSX0154AA",
"purchaseOrderNumber": "TECM10000031534",
"purchaseOrderLineNumber": "1",
"corpus": "current",
"sourceUpdatedAt": "2026-09-30"
}

mode=aggregate, groupBy=service - one count row per government function (default corpus; the archive table gives slightly different counts):

HEALTH & HOSPITALS 1,152,721
TRANSPORTATION 896,973
GENERAL GOVERNMENT 799,446
JUDICIAL 710,735
CORRECTIONS 669,113
REGS & PROTECTION 641,626

Notes on the data, from the source

  • A row is a payment line, not a payment. One payment id covers several accounting lines (~6.16M lines carry ~1.95M distinct payment ids). The payment id is a grouping key, not a row key.
  • Refunds and reversals are in here. 59,707 lines are negative on archive and 116,639 on current - real accounting entries, returned as they stand. Set minAmount=0.01 for payments only.
  • Two ledger tables, near-duplicates. See above - read one, never sum them.
  • Some rows have no vendor type. ~322,000 lines carry none; filtering on a vendor type excludes them.
  • Vendor names are free text as typed into the system - AMAZON RETAIL, AMAZON.COM*5H0SB5182 and AMAZON MKTPL*5H1353XI1 are all the same supplier. Use vendorId when you need one identity.
  • The ledger follows the State's accounting cycle, not a daily feed; sourceUpdatedAt carries the dataset's own refresh date.