Buildium Rental Listings Scraper: Rent, Office Phone & Email avatar

Buildium Rental Listings Scraper: Rent, Office Phone & Email

Pricing

from $1.00 / 1,000 vacancies

Go to Apify Store
Buildium Rental Listings Scraper: Rent, Office Phone & Email

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

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 hours ago

Last modified

Share

112 Buildium vacancies in 17 seconds

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" and currency: "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.

Run it on Apify

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 (for zoulproperties.managebuilding.com).
  • A host or any link on the site: managementapex.managebuilding.com, the public rentals page https://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 sets manager_website on 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 OUTPUT record.

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

ParameterTypeDefaultWhat it does
startUrlsarray of stringsrequired (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.
maxListingsinteger100 (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.
minBedroomsintegernoneOnly vacancies with at least this many bedrooms (0 to 10). Vacancies that do not state bedrooms are left out when this is set.
minBathroomsintegernoneOnly vacancies with at least this many bathrooms (0 to 10). Half baths count, so 1.5 passes a minimum of 1.
minRentintegernoneOnly 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.
maxRentintegernoneOnly vacancies asking at most this much a month, in the listing's own currency.
citiesarray of stringsnoneOnly vacancies in these cities. Grand Island, NE pins the state or province, Grand Island matches any.
allowUnblockerFallbackbooleantrueIf 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 (always buildium), 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_name and manager_address (the company and its office, from the feed)
  • manager_phone and manager_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 (US or CA)

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_feet
  • available_date, available_now (true when the available date is today or earlier), listed_date (when the listing went up)
  • pets_policy (for example Cats and dogs allowed) and pets_allowed
  • amenities, 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:

FieldWhat it holds
listing_idBuildium's listing number, the same while the vacancy is listed
listing_urlPublic link to the listing
portal_urlThe manager's public rentals page
manager_nameCompany name
manager_phoneListing contact phone
manager_emailListing contact email
manager_addressCompany office address
addressFull address
cityCity
stateState or province code
postal_codeZIP or postal code
rentMonthly rent as a number
currencyUSD or CAD
available_dateWhen the unit is free (YYYY-MM-DD)
listed_dateWhen 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.

EventFree planStarter (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 maxListings per manager;
  • the same vacancy found twice in one run;
  • the info row at the end of the dataset, and the OUTPUT run 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 rentals together 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".

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

Social media and video

Marketing, SEO and reviews

LinkedIn

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.