Skill
apartments
Search Apartments.com listings, sync results to a local SQLite store, and run workflows the website never built — diff saved searches, rank by $/sqft, compare shortlists, and surface price drops or phantom listings.
When to use apartments
Choose if
You're building an apartment-hunting or relocation agent that needs to enumerate Apartments.com listings, snapshot them locally, and run cross-time analyses (price drops, phantom listings, $/sqft ranking, weekly digests) the website itself doesn't offer. The local SQLite store makes repeat queries fast and survives across agent sessions.
Avoid if
You need listings from Zillow, Redfin, Realtor.com, or non-US rental sources — this CLI is Apartments.com-only. Also avoid if you need authenticated saved-search sync; cookie-session login is explicitly out of scope for v1.
Risk Flags
- MEDIUM auth Apartments.com triggers Akamai-style bot detection on detail pages; sustained scraping may require a Chrome-clearance cookie import or a full-browser fallback.
- MEDIUM data_quality Detail-only fields (amenities, floor plans, pet fees, availability, phone) only populate when the live fetch succeeds; otherwise the record is the cached placard with those fields blank.
- MEDIUM rate_limit Adaptive pacing is automatic, but hitting limits triggers a 30- second cool-off pause. Heavy multi-market sync workloads should throttle.
- LOW scope Read-only; saved-search login (cookie sessions) is intentionally out of scope for v1, so user-specific saved searches on the site can't be synced.
Cost
Type: Free
Install
Default
npx -y @mvanhorn/printing-press install apartments
# First sync — establishes the local SQLite store
apartments-pp-cli sync --market "Austin, TX"
Estimated time to first success: ~10 min
Dependencies
Minimum runtime: Node.js 18+ (or Go 1.26.3+ for source install); no resident browser required for normal use
Distribution
- Repository
- https://github.com/mvanhorn/printing-press-library
- License
- MIT