role: user

text: can you open all these URLs for me?


role: assistant

text: I’ll open each listing in your default browser now so you can review them side by side.


text: Done. I opened all six Craigslist URLs in your default browser.


text: i'm noticing that these 1br apartments are "open floor plan" which means they're just renamed studios.... ?


text:
You’re reading it correctly. In SF, “open floor plan 1BR” is often a studio or “junior 1BR” in disguise.

Use this rule for a **true 1BR**:
- Bedroom has full-height walls
- Bedroom has a real door
- Ideally has its own window/closet

If the listing says `junior`, `alcove`, `open`, `convertible`, or `flex`, treat it as studio-adjacent.

I can rerun the list and give you only hard-wall true 1BRs.


text: yeah, bedroom has a door.  is it unreasonable for me to ask for a door?


text:
No, that’s completely reasonable.

“Bedroom with a door” is a normal, modest **true 1BR** standard, not a luxury ask. It’s easy to justify as basic privacy and sleep stability during transition.


text: is there any way you can filter on that criteria?  it may not be easy to tell - i'm looking at the pics.


text: Yes, we can do a decent first-pass filter with Craigslist keywords plus exclusions, then I’ll manually confirm door-in-photos on the survivors. I’m running that filter now and will give you a cleaner list.


text: The filter is working, and I can extract direct listing URLs from Craigslist HTML. I’m now adding a downtown radius so we keep only central SF options likely to match your “doored 1BR” criteria.


text: I can automate a two-pass “likely true 1BR” filter: remove junior/open/loft-style listings, then keep only posts that read like actual 1BR apartments. I’m running that across current downtown-ish results now.


text: Quick fix: that run tripped a shell pipe edge case, not data quality. I’m rerunning with a safer loop and explicit cap so we get clean output.


text: I hit a parsing issue with `rg` lookaround support in that script; fixing with PCRE mode and a tighter sample size so we can finish quickly and cleanly.


text: Yes, but only partially automated: Craigslist can’t guarantee “bedroom has a door,” so I can filter likely-true 1BRs and then final-check photos. I’m pulling that filtered list with prices now.


text:
Yes, we can get close.

Craigslist doesn’t have a native “bedroom has a door” filter, so I use:
1. `1BR` + downtown radius filters
2. Exclude keywords: `studio`, `junior`, `jr`, `alcove`, `loft`, `open floor plan`
3. Final manual check in photos + ask landlord directly

Saved filter URL:
`https://sfbay.craigslist.org/search/sfc/apa?postal=94103&search_distance=3&availabilityMode=0&min_bedrooms=1&max_bedrooms=1&max_price=4200&query=1br+-studio+-junior+-alcove+-loft+-open`

Pulled today (Feb 20, 2026), likely true 1BRs with no text red flags:
- `$2,395` Charming 1BR in Central SF: https://sfbay.craigslist.org/sfc/apa/d/san-francisco-charming-1br-in-central/7915985653.html
- `$3,000` Sunny 1BR in Historic Nob Hill: https://sfbay.craigslist.org/sfc/apa/d/san-francisco-available-starting-on-feb/7913130263.html
- `$3,125` Russian Hill 1BR: https://sfbay.craigslist.org/sfc/apa/d/san-francisco-russian-hill-1br/7916446499.html
- `$3,145` Updated Nob Hill 1BR/1BA: https://sfbay.craigslist.org/sfc/apa/d/san-francisco-updated-1br-1ba-nob-hill/7916180721.html
- `$3,395` Updated Nob Hill 1BR: https://sfbay.craigslist.org/sfc/apa/d/san-francisco-updated-nob-hill-1br/7912637609.html
- `$3,445` Top Floor Nob Hill 1BR/1BA: https://sfbay.craigslist.org/sfc/apa/d/san-francisco-top-floor-updated-1br-1ba/7916409463.html

If you want, I’ll open these now and mark each one `door-confirmed` / `unclear` from the photos.