Student Com Housing Scraper avatar

Student Com Housing Scraper

Pricing

from $9.50 / 1,000 results

Go to Apify Store
Student Com Housing Scraper

Student Com Housing Scraper

Get every Student.com housing listing: price, floorplans, room types, real reviews, contact email and phone, office hours, and distance to university. Filter by state, city, university, price and rating, or look up a property by URL. No API key.

Pricing

from $9.50 / 1,000 results

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Norm Data

Student.com Housing Scraper

Get every US student housing listing on Student.com with no API key and no login: about 6,000 properties with price, floorplans, room options, amenities, real reviews, contact email and phone, office hours, and distance to the nearest university. Filter into a list, or look up a specific property by URL.

Here is one real row:

{
"id": "0941b78d-8d34-4558-8a6b-7571bfba89e8",
"name": "The Element Studios",
"property_type": "Apartment",
"address": "2526 Durwood St, Austin, TX 78704, USA",
"city": "Austin",
"state": "TX",
"country": "US",
"latitude": 30.2389969,
"longitude": -97.7595712,
"university": "St. Edward's University",
"min_price": 900,
"price_currency": "USD",
"rating": 3.5,
"review_count": 20,
"wheelchair_accessible": false,
"phone_number": "(512) 745-2001",
"contact_email": "sbush@smmtx.com",
"website": "http://www.elementstudiosaustin.com/",
"amenities": ["Rooftop Terrace", "Communal Laundry", "Swimming Pool", "Pet Friendly"],
"vibes": ["coffee-food", "parks-greenery"],
"reviews": [
{ "rating": 5, "content": "Great location and staff.", "author_name": "A Resident", "source": "Google" }
],
"listing_url": "https://www.student.com/us/tx/austin/p/the-element-studios-8fkayq",
"scraped_at": "2026-09-11T22:00:00.000Z"
}

What it does

Reads Student.com's own property index directly instead of paginating its search UI, then reads each property's page for its full detail, and normalizes every listing into a flat row.

  • Search filters the property index into a list: by state, city, property name, property type, university, price range, rating, review count, wheelchair accessibility, or whether a contact email or phone number is on file.
  • Look up resolves exact Student.com property URLs, one row per URL. A URL that doesn't resolve comes back as an error row.

Missing source values are returned as null, never invented.

Why this scraper

  • Real reviews, not just a star rating. Actual review text, reviewer name, date and source for every property, not a summary number.
  • Direct contact email and phone, when Student.com has one. Filter to only properties with a contact email for outreach, not every listing regardless of whether it's reachable.
  • Floorplan-level and room-level pricing. floorplans (bedrooms, bathrooms, price and square footage per plan) and room_options (ensuite/kitchen/bathroom setup per room type), not just one price for the whole property.
  • Office hours, decoded. Whether a property's office is open right now and its full weekly schedule, not a raw encoded string.
  • Vibes and neighbourhood tags. Qualitative descriptors (quiet, urban, coffee-food, parks and greenery) alongside the hard numbers.
  • Complete in one pass. Reads Student.com's own property index, not a paginated search UI, so a full run doesn't depend on "Load More" behavior holding up.
  • No API key, no login, no browser. Reads only what Student.com publishes.

How it compares

Checked directly against both other Student.com scrapers on Apify (their own declared output fields, not a guess):

CapabilityThis actorparseforge/student-scraperdelectable_incubator (low-cost)
Price, address, coordinatesyesyesyes
Review rating and countyesnono
Real review text and reviewer nameyesnono
Direct contact emailyesnono
Phone numberyesnono
Office hours (decoded)yesnono
Room types / floorplan pricingyessome (room types only)no
Amenities, vibes, neighbourhood tagsyesamenities onlyno
Property type filteryesnono
University filteryesnono
Wheelchair-accessible filteryesnono
Declared dataset schemayesyesno

Use cases

  • Housing market research. Track pricing, amenities, and rating distribution by city or university.
  • Lead generation for student housing vendors. A filtered list of properties with a contact email, by state, city, or price range.
  • University housing offices. Compile off-campus options near a specific university, filtered by rating, wheelchair accessibility, or price.
  • Relocation and study-abroad services. Build a shortlist of verified accommodation options for a specific city.
  • Sentiment analysis. Real review text per property, not just an aggregate score.
  • Competitive monitoring. Track a property manager's portfolio, pricing, and rating over time.

Quickstart

Search: properties in Austin, TX with a contact email and a rating of at least 4.

{ "mode": "search", "state": ["TX"], "city": "austin", "hasContactEmail": true, "minRating": 4, "maxItems": 100 }

Properties near a specific university, under a price cap:

{ "mode": "search", "university": "University of Texas", "priceMax": 1200, "maxItems": 200 }

Look up specific properties:

{ "mode": "lookup", "urls": ["https://www.student.com/us/tx/austin/p/aria-grand-knpomm"] }

Input reference

FieldApplies toDescription
maxItemsallCeiling on rows written.
modeallsearch or lookup.
statesearchTwo-letter US state code(s), e.g. TX, FL.
citysearchCity contains this text.
propertyNamesearchProperty name contains this text.
propertyTypesearchExact match against Student.com's own property type label(s), e.g. Apartment, PBSA.
universitysearchNearest university name or slug contains this text.
priceMin / priceMaxsearchMonthly price range, USD.
minRatingsearchMinimum average review rating (0-5).
minReviewCountsearchMinimum number of reviews on file.
wheelchairAccessibleOnlysearchOnly properties flagged wheelchair accessible.
hasContactEmailsearchOnly properties with a direct contact email on file.
hasPhonesearchOnly properties with a phone number on file.
urlslookupFull Student.com property URLs.

Output reference (selected)

FieldDescription
id / slug / name / property_typeIdentity.
address / city / state / country / zip_code / latitude / longitudeLocation.
university / university_slug / distance_to_universityNearest university.
min_price / max_price / price_range / price_currencyPricing.
rating / review_count / reviews / reviews_summaryReviews.
wheelchair_accessible / accessibilityAccessibility.
pet_policy / parking_infoPolicies, when Student.com has them on file.
office_hours{ is_open_now, weekday_descriptions, next_close_time }, decoded.
phone_number / contact_email / website / google_maps_urlContact.
room_types / room_options / floorplansRoom and pricing detail.
amenities / vibes / neighbourhood_tagsDescriptive tags.
images{ url, image_type, caption }[].
property_summaryCurated description text, when Student.com has one.
is_publishedWhether Student.com currently lists this property as published.
listing_urlThe property's own page.
query / errorSet on an unresolved look-up row.
scraped_atISO 8601 collection timestamp.

Run via API and CLI

curl -X POST "https://api.apify.com/v2/acts/USERNAME~student-com-housing-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode":"lookup","urls":["https://www.student.com/us/tx/austin/p/aria-grand-knpomm"]}'
$apify call USERNAME/student-com-housing-scraper --input '{"mode":"search","state":["TX"],"hasContactEmail":true,"maxItems":500}'

Fetch results

curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"

Billing and limits

  • Pay per result. Billed per property row written.
  • No charge on failure. A run that produces zero rows fails with a message and is not billed.
  • An unresolved look-up URL still writes one error: "not found" row and is billed as a base row.
  • Free Apify plans run the built-in 10-row sample only.
  • A very selective filter combination (e.g. a high minimum rating together with a contact-email requirement) may take longer to find enough matches, since it has to check more property pages before it collects the requested number.

FAQ and troubleshooting

Do I need an API key? No. Student.com's own property pages are public, with no key and no login.

Why did my run return zero rows? No property matched the filters. Loosen them, or check that the state/city spelling matches how Student.com lists it.

Why is contact_email, pet_policy, or parking_info null for some properties? Student.com itself doesn't have that field on file for every listing. This Actor reports null rather than guessing.

Are the reviews the property's complete review history? No. Student.com's own property page renders a fixed sample (5 reviews at the time of writing), not the full history. review_count is the total; reviews is that sample.

Why doesn't city always match the city in address? Student.com's own city field is what groups properties into its own market pages, and can occasionally differ from the city named in the street address (verified: about 1 in 4 properties in a sample pull) - this Actor reports Student.com's own city value as-is, so filtering by city stays consistent with what searching that same city on student.com itself returns.

How current is the data? Read live from Student.com's own pages on every run. It is not cached.

Is this an official Student.com tool? No. Independent, not affiliated with Student.com. It reads only data Student.com publishes.

Local development

bun install
bun test # offline: extraction, normalisation, input logic (real fixtures)
bun run src/main.ts # reads storage/key_value_stores/default/INPUT.json