Buildium Rental Listings Scraper: Rent, Office Phone & Email
Pricing
from $1.00 / 1,000 vacancies
Buildium Rental Listings Scraper: Rent, Office Phone & Email
Scrape current rental vacancies from any Buildium (managebuilding.com) property manager: rent, deposit, beds, baths, square feet, address, availability, pets, amenities, photos, apply link and the office phone and email. One request per manager. Filters included. No login. Pay per vacancy.
Pricing
from $1.00 / 1,000 vacancies
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 hours ago
Last modified
Categories
Share
From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors. This actor ranks #1 for "buildium rental" in Apify Store search.
Why choose this actor?
- Every current vacancy of a property manager, with the office contact on every row. Give a Buildium site (just the subdomain works) and get one row per vacancy: rent, deposit, bedrooms, bathrooms, square feet, address, available and listed dates, pets, amenities, the full description, every photo, the apply link, and the company name, office address, phone and email the manager publishes. Our proof run read 112 vacancies from 6 managers in 17 seconds. No Buildium login, no cookies.
- US and Canadian managers. Canadian rows carry the province,
country: "CA"andcurrency: "CAD"; 31 of the 112 proof rows came from a manager in Nova Scotia. - Pay only for vacancies you keep. Bedroom, bathroom, rent and city filters are applied before delivery, and vacancies they leave out are never charged. Neither are managers with no vacancies, links that are not Buildium sites, refused feeds or duplicates.
Part of The Mine Works Leads and business directories family: B2B Leads Finder, Skip Trace Lookup, Google Maps Email Scraper, JustDial Scraper, 2GIS Places Scraper, IndiaMART Scraper.
Try it in one minute
Paste this input and press Start. It returns 10 vacancies from two managers:
{"startUrls": ["zoulproperties", "managementapex"],"maxListings": 5}
You can point it at a property manager in these ways, and mix them in one run:
- A subdomain:
zoulproperties(forzoulproperties.managebuilding.com). - A host or any link on the site:
managementapex.managebuilding.com, the public rentals pagehttps://managementapex.managebuilding.com/Resident/public/rentals, the resident login page, or the XML feed. A link to one listing (/Resident/public/rentals/<number>) returns only that listing. - The manager's own website page, for example
https://www.swellproperty.com/. The actor finds the Buildium link on the page, or on up to two rentals pages linked from it, and setsmanager_websiteon the rows.
An AppFolio link (appfolio.com) is reported with a pointer to our AppFolio actor instead.
Apify's free plan includes $5 of credit every month, which covers about 2,400 vacancies at this actor's Free plan price.
Copy to your AI assistant
themineworks/buildium-rental-listings-scraper on Apify. Returns every current rental vacancy from Buildium property manager sites (<name>.managebuilding.com): rent, deposit, bedrooms, bathrooms, square feet, address, available and listed dates, pets, amenities, description, photos and rental application link, plus the manager's company name, office address and the listing contact phone and email. Call ApifyClient("TOKEN").actor("themineworks/buildium-rental-listings-scraper").call(run_input={"startUrls": ["zoulproperties", "managementapex"], "maxListings": 100}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: startUrls (Buildium subdomains, links on a managebuilding.com site, or the manager's website page). Optional: maxListings (per manager, default 100, up to 5,000), minBedrooms, minBathrooms, minRent, maxRent (in the listing's currency), cities (for example "Grand Island, NE"), allowUnblockerFallback (default true). It does not search all of Buildium; you supply the managers. Skip rows that have "_type": "info". Full spec: GET https://api.apify.com/v2/acts/themineworks~buildium-rental-listings-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations
Key features
- Up to 38 fields per vacancy: listing and rentals page links, company name, office address, listing phone and email, title, full address and its parts, rent and rent range, deposit, bedrooms, bathrooms, square feet, available and listed dates, pet policy, amenities, building type, lease terms, year built, the full description, every photo and the apply link.
- One request per manager, no paging. Buildium publishes each manager's current listings as one public XML feed, the one managers use to show rentals on their own websites. The largest manager in our proof run (57 vacancies) was one request.
- Up to 1,000 start URLs per run and 5,000 vacancies per manager. A manager reached through two start URLs is read once, and a vacancy is delivered and charged once.
- 5 filters (minimum bedrooms, minimum bathrooms, rent range, cities), the same ones Buildium's rentals page offers, applied before delivery.
- US and Canadian listings, with USD or CAD and the state or province.
- Reads robots.txt first on every host. Plain HTTP, no browser. A run summary (status per start URL, vacancies found and delivered, attempts, the robots.txt verdict behind each request) is saved as the
OUTPUTrecord.
How to use it
Basic: one manager
{"startUrls": ["zoulproperties"],"maxListings": 500}
Every vacancy Zoul Properties lists on zoulproperties.managebuilding.com; 57 on 1 Oct 2026.
Several managers at once
{"startUrls": ["zoulproperties","https://managementapex.managebuilding.com/Resident/public/rentals","safeguardservices","https://www.swellproperty.com/"],"maxListings": 500}
The last line is a manager's homepage: the actor followed its "available rentals" page to swellpropertyinc.managebuilding.com.
Leads for property services
Vendors and service firms that sell to property managers want the office contact next to the number of open units. Every row already carries manager_name, manager_phone, manager_email and manager_address, so one vacancy per manager is enough:
{"startUrls": ["zoulproperties", "managementapex", "safeguardservices", "bellarentals"],"maxListings": 1}
You pay for one vacancy per manager, and the OUTPUT record still shows how many each one lists (vacancies_on_portal).
Weekly rent and deposit tracking
Rental analysts and investors compare asking rents and deposits of the managers in their market. Filter to the units you follow and schedule the run weekly (Apify Console, Schedules, Add schedule):
{"startUrls": ["zoulproperties", "managementapex"],"minBedrooms": 2,"maxRent": 1500,"maxListings": 500}
Group by postal_code and bedrooms and compare rent and deposit from week to week.
Days on market
listed_date is when the listing went up. Compare it with scraped_at, or watch which listing_id values disappear between weekly runs, to see how long units stay open:
{"startUrls": ["safeguardservices"],"cities": ["Kentville", "Wolfville, NS"],"maxListings": 500}
Wolfville, NS pins the province; Kentville matches any. Vacancies in other cities are left out and not charged.
Input parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
startUrls | array of strings | required (Console prefill: the Zoul Properties and Management Apex rentals pages) | One per line: a Buildium subdomain (acme), its host (acme.managebuilding.com), any link on it (the public rentals page, one listing, the resident login page, the XML feed), or the manager's own website page. Up to 1,000 per run. startUrl, urls and portals are accepted too. |
maxListings | integer | 100 (Console prefill 20) | Most vacancies to return from each manager, 1 to 5,000. The whole list comes in one request, so this trims the result; it does not make the run faster. |
minBedrooms | integer | none | Only vacancies with at least this many bedrooms (0 to 10). Vacancies that do not state bedrooms are left out when this is set. |
minBathrooms | integer | none | Only vacancies with at least this many bathrooms (0 to 10). Half baths count, so 1.5 passes a minimum of 1. |
minRent | integer | none | Only vacancies asking at least this much a month, in the listing's own currency (US or Canadian dollars). Vacancies with no rent shown are left out when a rent filter is set. |
maxRent | integer | none | Only vacancies asking at most this much a month, in the listing's own currency. |
cities | array of strings | none | Only vacancies in these cities. Grand Island, NE pins the state or province, Grand Island matches any. |
allowUnblockerFallback | boolean | true | If a feed is refused three times over the datacenter connection, try once more through Apify's unblocking proxy (included in the price). Off: such managers are reported as blocked. |
Filters are applied by the actor to each manager's full list after reading it. They save you money (filtered vacancies are not charged), not time.
What data do you get?
One row per vacancy. Fields with no value are left out of the row instead of being sent as null.
The vacancy
listing_id(Buildium's listing number),listing_url(the public listing page),portal(alwaysbuildium),portal_url(the manager's public rentals page),title(the property name followed by the unit number, as the manager entered it)
The manager
manager_nameandmanager_address(the company and its office, from the feed)manager_phoneandmanager_email(the contact the manager attaches to the listing, shown as "Listing contact" on its public page; some managers use one office line, some a leasing line per building)manager_website(the website you gave, when the Buildium site was found through it)
Address
address,street,city,state(state or province),postal_code,country(USorCA)
Rent
rent(the low end of a range),rent_max(the high end),rent_text,currency(USD or CAD),deposit
The unit
bedrooms,bathrooms(half baths count: 1.5),square_feetavailable_date,available_now(true when the available date is today or earlier),listed_date(when the listing went up)pets_policy(for exampleCats and dogs allowed) andpets_allowedamenities,property_type(House for Rent, Duplex, Apartment, Townhouse, Mid Rise and so on),lease_terms,year_built
Description, photos and application
description(the full text),photo_urls(every photo, in the manager's order),apply_url(the rental application for this listing)
Run context
source_input(the start URL the row came from),scraped_at
There are no map coordinates: the feed carries none. Each run also ends with one row that has "_type": "info" and a short message. It is never billed; filter it out by _type.
Stable fields for automations
These fields were present in every one of the 112 vacancies of our proof run on 1 Oct 2026 (6 managers, US and Canada), and their names will not change:
| Field | What it holds |
|---|---|
listing_id | Buildium's listing number, the same while the vacancy is listed |
listing_url | Public link to the listing |
portal_url | The manager's public rentals page |
manager_name | Company name |
manager_phone | Listing contact phone |
manager_email | Listing contact email |
manager_address | Company office address |
address | Full address |
city | City |
state | State or province code |
postal_code | ZIP or postal code |
rent | Monthly rent as a number |
currency | USD or CAD |
available_date | When the unit is free (YYYY-MM-DD) |
listed_date | When the listing went up |
Fill rates for the rest on the same 112 vacancies: bedrooms, bathrooms and property_type 112, deposit and description 111, photo_urls 110, amenities 99, square_feet 88, pets_policy 69, lease_terms 17, year_built none.
Output examples
Real rows from our proof run on 1 Oct 2026, trimmed: descriptions are cut, photo lists are shortened to two (the first listing has 23 photos), and title is left out (it is the property name followed by the unit number, as the manager entered it).
Started from the manager's homepage (https://www.swellproperty.com/), so manager_website is set:
{"listing_id": "330747","listing_url": "https://swellpropertyinc.managebuilding.com/Resident/public/rentals/330747","portal": "buildium","portal_url": "https://swellpropertyinc.managebuilding.com/Resident/public/rentals","manager_name": "Swell Property, Inc.","manager_phone": "(760) 266-7793","manager_email": "Rentalinfo@swellproperty.com","manager_website": "https://www.swellproperty.com/","manager_address": "1967 North Coast Highway 101, Encinitas, CA 92024","address": "1108 Sea Glass Way, Oceanside, CA 92054","street": "1108 Sea Glass Way","city": "Oceanside","state": "CA","postal_code": "92054","country": "US","rent": 4495,"rent_text": "$4,495","currency": "USD","deposit": 4495,"bedrooms": 3,"bathrooms": 3,"square_feet": 1775,"available_date": "2026-09-01","available_now": true,"listed_date": "2026-08-19","amenities": ["Microwave", "Hardwood floors", "Air conditioner", "Dishwasher", "Garage parking", "Stove and oven", "Dryer", "Heat", "Washer"],"property_type": "Townhouse","description": "... Enjoy modern coastal living in this spacious three-story townhome in the Tides Community. Ideally located within walking distance of Downtown Oceanside, ...","photo_urls": ["https://swellpropertyinc.managebuilding.com/Resident/api/public/files/download/listingImages?fileName=530520ca24784cac967b2e49c2004da2.jpeg","https://swellpropertyinc.managebuilding.com/Resident/api/public/files/download/listingImages?fileName=10043650801e45ed94dedc95f55547b2.jpeg"],"apply_url": "https://swellpropertyinc.managebuilding.com/Resident/rental-application/account/register?listingId=330747&goToApplication=true","source_input": "https://www.swellproperty.com/","scraped_at": "2026-10-01T13:50:47.753Z"}
A Canadian manager, in CAD with the province in state:
{"listing_id": "228732","portal": "buildium","manager_name": "Safeguard Property Management & Services","manager_phone": "(902) 678-0275","manager_email": "info@safeguardservices.ca","manager_address": "27 Bridge Street, Kentville, NS B4N 2E2","city": "Lawrencetown","state": "NS","postal_code": "B0S 1M0","country": "CA","rent": 1000,"rent_text": "$1,000","currency": "CAD","deposit": 500,"bedrooms": 2,"bathrooms": 1,"square_feet": 500,"available_date": "2026-12-15","available_now": false,"listed_date": "2026-08-31","amenities": ["Jogging and walking trails", "Wireless internet"],"property_type": "Mid Rise","description": "2 bedroom, 1 bath apartment on the second floor. Close to all Lawrencetown amenities, on bus route. Within walking distance to COGS campus.\n$1000 per month, utilities not included. Electric baseboard heat.\n1 fixed cat allowed, no dogs. ...","source_input": "safeguardservices"}
A vacancy with a pet policy, from a manager given by its subdomain:
{"listing_id": "90280","listing_url": "https://zoulproperties.managebuilding.com/Resident/public/rentals/90280","manager_name": "Zoul Properties","manager_phone": "(308) 382-4247","manager_email": "info@zoulproperties.com","manager_address": "321 West 2nd Street, Grand Island, NE 68801","address": "302 North Broadway Street, Fullerton, NE 68638","rent": 750,"currency": "USD","deposit": 750,"bedrooms": 1,"bathrooms": 1,"square_feet": 570,"available_date": "2026-06-02","available_now": true,"listed_date": "2026-06-02","pets_policy": "Cats and dogs allowed","pets_allowed": true,"property_type": "Duplex","apply_url": "https://zoulproperties.managebuilding.com/Resident/rental-application/account/register?listingId=90280&goToApplication=true","source_input": "zoulproperties"}
The info row that ends every run (never billed):
{"_type": "info","delivered": 112,"message": "112 vacancies delivered. This row is informational: it is never billed.","scraped_at": "2026-10-01T13:50:47.769Z"}
The OUTPUT record gives every start URL a status: ok, no_vacancies (a live site with nothing listed), no_matches (nothing passed your filters), listing_not_found, not_a_portal, blocked, robots_disallowed, duplicate, parse_error, push_failed or stopped, with a message, the vacancies listed, how many matched and were delivered, the attempts, and the robots.txt verdict for each request. A website start also lists the pages read and the Buildium sites found.
Pricing
You pay per vacancy delivered to your dataset, plus a flat $0.005 per run whatever memory you choose. The contact fields, filters, the manager website lookup and the proxies are included.
| Event | Free plan | Starter (Bronze) | Scale (Silver) | Business (Gold) and above |
|---|---|---|---|---|
Vacancy (listing-scraped), per vacancy | $0.002 | $0.0017 | $0.0014 | $0.001 |
| Same, per 1,000 vacancies | $2.00 | $1.70 | $1.40 | $1.00 |
Run start (run-start), once per run | $0.005 | $0.005 | $0.005 | $0.005 |
The run start is our own flat event, charged once when the run starts. It is not Apify's per GB start fee, so it stays $0.005 at any memory size. No other pricing change is scheduled.
Never charged:
- managers whose site refused the connection, and managers with no vacancies;
- start URLs that are not a live Buildium site, or that robots.txt disallows;
- vacancies your filters left out, and vacancies above your
maxListingsper manager; - the same vacancy found twice in one run;
- the info row at the end of the dataset, and the
OUTPUTrun summary.
To cap what a run can cost, set a maximum total charge in the run options. The Pricing tab always shows the rate for your own plan; if this table and the Pricing tab ever disagree, the Pricing tab is right.
FAQ
What is Buildium, and does this search all Buildium listings?
Buildium is property management software. Each property manager who uses it gets a site at <name>.managebuilding.com with a public rentals page and a public XML feed of its current vacancies. This actor reads that feed. It does not search all Buildium listings in a city, because Buildium publishes no directory of its customers' sites: it is useful when you know which managers you care about.
How do I find Buildium property managers?
Buildium does not publish a list of its customers, and the actor does not discover them on its own. What works:
- The manager's website. Managers on Buildium link their "Rentals", "Apply" or "Resident login" pages to
something.managebuilding.com. You can paste the website page itself and the actor finds the link. - Web search. Searching for
managebuilding.com Resident public rentalstogether with a city or state name returns rentals pages that search engines have indexed. It is partial, but free and quick. - Rental ads. Ads on the big rental sites often link to the manager's Buildium application page; the subdomain in that link is the site.
- Your own lists. If you already have a list of property managers, their websites are the fastest route.
A subdomain that is not a live Buildium site is reported as not_a_portal and costs nothing.
How much does it cost to scrape 1,000 Buildium vacancies?
1,000 times your plan's price per vacancy, plus $0.005 for the run: $2.00 on the Free plan, down to $1.00 on Business. Managers with no vacancies and vacancies your filters leave out are not charged.
How does it get the listings without logging in?
Every Buildium customer site publishes its current listings as a public XML feed, the one Buildium offers managers for showing rentals on their own websites. For acme.managebuilding.com it lives at https://acme.managebuilding.com/resident/api/public/listingFeeds (Buildium's documented address /Resident/PublicPages/XMLRentals.ashx redirects there). One request returns every active listing with rent, deposit, rooms, photos, amenities, pet policy, dates and contact details. The actor reads nothing but the feed.
Where do the phone and email come from?
From the feed the manager publishes. They are the contact the manager attached to the listing, the same one its public listing page shows under "Listing contact". The feed sometimes labels that phone with a staff member's name; the public listing page does not show that label, so the actor leaves it out and returns the phone and email only.
How fresh is the data?
Every run reads the feeds live; nothing comes from a cache. listed_date says when each listing went up and scraped_at when the row was read. For a history, save your input as a task and add a schedule in Apify Console (for example every Monday); each scheduled run is billed like a manual one.
Do I need a Buildium account, cookies or a proxy?
No. The feeds are public. The actor reads them without signing in, through Apify's datacenter proxies, which are included in the price.
Does it respect robots.txt?
Yes. It reads robots.txt on every host before requesting anything from it, applies it the way Google does, and never requests a page it disallows, including after a redirect. The 7 Buildium sites in our 1 Oct proof run had no robots.txt at all (it answered 404), which means no restrictions; manager websites often have one, and the actor follows it.
What happens when a feed refuses the connection?
Feeds are read over Apify's datacenter proxy first. In our proof run on 1 Oct 2026 every request was answered on the first try (18 answered, plus one website redirect). If a feed is refused three times, the actor tries once through Apify's unblocking proxy, unless you turned allowUnblockerFallback off. A manager refused every time is listed as blocked in the run summary and never charged.
What about AppFolio portals?
AppFolio is different software. Use AppFolio Rental Listings Scraper for appfolio.com links; this actor tells you when a link belongs there.
Which formats can I export?
JSON, CSV, Excel, XML, HTML table and RSS from the dataset page in Apify Console, or through the Apify API.
Can I use it from Claude, ChatGPT or another AI agent?
- Connector URL:
https://mcp.apify.com/?tools=themineworks/buildium-rental-listings-scraper. - Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code:
claude mcp add -t http buildium-rental-listings-scraper "https://mcp.apify.com/?tools=themineworks/buildium-rental-listings-scraper".
Is it legal to scrape Buildium listings?
The actor collects only public rental advertisements, which describe properties, not people, from the feed Buildium publishes for exactly that purpose. It never signs in, reads no tenant or applicant data, and follows each site's robots.txt. The contacts are the business contacts managers publish on their listings. You are responsible for how you use the data, including the sites' terms and data protection laws such as GDPR and CCPA. This actor is an independent tool and is not affiliated with Buildium, LLC or RealPage, Inc.; Buildium is a trademark of its owner.
Integrations
- Google Sheets: send each run's vacancies to a sheet with Apify's Google Sheets integration.
- Make, Zapier and n8n: start runs and receive the rows in your workflows.
- Webhooks: get a call when a run finishes, for example to add new managers' contacts to your CRM.
- API: start runs and read datasets from any language with the Apify API or the Python and JavaScript clients.
- MCP clients: Claude, ChatGPT and other agents through Apify's MCP server.
More from The Mine Works
Leads and business directories
- B2B Leads Finder
- Skip Trace Lookup
- Google Maps Email Scraper
- JustDial Scraper
- 2GIS Places Scraper
- IndiaMART Scraper
- Yandex Maps Scraper
- Contact Details Scraper
- US Business Registry
- Google Maps Scraper
- Yellow Pages Scraper
- Lead Generation MCP
Social media and video
Marketing, SEO and reviews
Real estate
Science, health and government data
Jobs and hiring
E-commerce and marketplaces
Company and business data
Food and local services
Developer and AI tools
More tools
Support
Found a problem or need a field? Open an issue on the actor's Issues tab and we will answer there. For a new source or a custom build, email dmineworks@gmail.com.
Buildium Rental Listings Scraper turns a list of property managers into one row per current vacancy, with rent, deposit, rooms, dates, photos and the office contact the manager publishes.

