BareBones + Apify
Some numbers only live on a web page — a utility portal, an HOA statement, a rent-comparison site. An Apify actor scrapes them on a schedule; a few lines at the end of the run post each one to your ledger.
for (const row of items) {
await fetch(
'https://barebonespm.com/api/v1/ledger', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
amount: row.amount,
type: 'EXPENSE',
category: 'UTILITIES',
property_id: row.propertyId,
}),
});
}What you'll need
Where the scraped rows land
Authorization: Bearer <your_api_key>
Create a key on your dashboard. Full reference in the API docs.
| Field | Type | Notes |
|---|---|---|
| amount* | number | Dollar amount, e.g. 142.50 |
| type* | enum | INCOME, EXPENSE, or CHARGE |
| category* | enum | RENT, UTILITIES, REPAIRS, INSURANCE, TAXES, … |
| property_id | integer | Which property (optional) |
| unit_id | integer | Specific unit; omit = property-wide |
| transaction_date | string | YYYY-MM-DD; defaults to today |
| reason_description | string | Free-text note for the line |
| status | enum | PAID or UNPAID (default UNPAID; ignored for INCOME) |
* required
Step by step
From scrape to ledger
Do the POST inside the actor, or let Apify hand off to n8n / Make — both work.
Create an API key
Generate one under API keys and store it as an Apify secret, not in the code.
Build or pick an actor
Use an existing actor or write one that scrapes the page you need and pushes results to its dataset.
Post each dataset item
At the end of the run, loop over the items and POST each to /api/v1/ledger (see the snippet). Map the scraped amount and pick a category.
Or hand off with a webhook
Prefer no code in the actor? Add an Apify webhook on “run succeeded” that triggers an n8n or Make flow to read the dataset and post the rows.
Schedule the run
Set the actor’s schedule (monthly for a utility bill, say). Each run reconciles the new charges into your ledger untouched by you.
Get your API key and wire it up.
Create a key on your dashboard, point your tool at POST /api/v1/ledger, and your books start keeping themselves.
Other integrations
