Craigslist Apartments APInewyork.craigslist.org ↗
Search and retrieve NYC Craigslist apartment listings by neighborhood, bedrooms, price, and images. Get full listing details including address, photos, and coordinates.
curl -X GET 'https://api.parse.bot/scraper/bc4986ba-495e-47ed-82af-0bcd31334217/search_apartments?subarea=mnh&max_results=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Search apartment listings with filters for neighborhoods, bedrooms, price, and images. Returns listing summaries with prices, locations, images, and URLs. Results are fetched from the Craigslist search API and truncated to max_results.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order: date (newest), dateoldest (oldest), priceasc (price low to high), pricedsc (price high to low) |
| query | string | Search keyword to filter listings |
| has_pic | string | Only show listings with images: 1 (yes) or 0 (no) |
| subarea | string | Craigslist subarea code for the target city region (e.g. mnh for Manhattan, brk for Brooklyn, eby for East Bay). Varies by metro area. |
| max_price | string | Maximum monthly rent in USD |
| min_price | string | Minimum monthly rent in USD |
| max_results | string | Maximum number of results to return (up to 360) |
| max_bedrooms | string | Maximum number of bedrooms |
| min_bedrooms | string | Minimum number of bedrooms |
| neighborhoods | string | Comma-separated neighborhood names or numeric codes to filter results within the selected subarea. Available values depend on the target metro area. |
{
"type": "object",
"fields": {
"listings": "array of listing objects with id, title, price, formatted_price, bedrooms, sqft, neighborhood, latitude, longitude, url, thumbnail_url, images, image_count",
"total_results": "integer total number of matching listings",
"returned_results": "integer number of listings returned in this response"
},
"sample": {
"data": {
"listings": [
{
"id": 7934124704,
"url": "https://newyork.craigslist.org/mnh/apa/d/new-york-1br-lease-takeover-in-chelsea/7934124704.html",
"sqft": null,
"price": 5865,
"title": "1BR lease takeover in chelsea/flatiron",
"images": [
"https://images.craigslist.org/00404_98ECKA0WX2P_1320MM_600x450.jpg"
],
"bedrooms": 1,
"latitude": 40.7419,
"longitude": -73.9943,
"image_count": 12,
"neighborhood": "Chelsea",
"thumbnail_url": "https://images.craigslist.org/1320MM_300x300.jpg",
"formatted_price": "$5,865"
}
],
"total_results": 12,
"returned_results": 10
},
"status": "success"
}
}About the Craigslist Apartments API
The Craigslist Apartments API exposes 2 endpoints for searching and retrieving New York City rental listings from Craigslist. The search_apartments endpoint returns up to 360 listing summaries per call — including price, bedroom count, square footage, neighborhood, coordinates, and thumbnail — while get_listing_details returns the full record for a single listing by its numeric Craigslist ID, including all images, address, and bathroom count.
What the API Returns
The search_apartments endpoint accepts filters for price range (min_price, max_price), bedroom count (max_bedrooms), subarea code (subarea), image availability (has_pic), and a freeform query keyword. Results include a listings array where each object carries id, title, price, formatted_price, bedrooms, sqft, neighborhood, latitude, longitude, url, and thumbnail. The response also includes total_results (total matching listings on Craigslist) and returned_results (how many were returned in this call, capped at max_results up to 360).
Subarea Codes and Sorting
Craigslist divides New York into subareas — mnh for Manhattan, brk for Brooklyn, and so on. Pass the appropriate code via subarea to scope your search. The sort parameter accepts date (newest first), dateoldest, priceasc, or pricedsc, letting you retrieve the most recent listings or sort by rent without any post-processing.
Listing Details
get_listing_details takes a required listing_id (the numeric Craigslist ID, e.g. 7934124704) and an optional subarea. It returns a single object with id, url, title, price, sqft, bedrooms, bathrooms, address, latitude, longitude, and an images array containing all photo URLs attached to the listing. This is the endpoint to use when you need the full image gallery or the precise street address rather than just the neighborhood label.
Coverage Scope
The API targets the New York City regional Craigslist site. Subarea codes correspond to NYC boroughs and neighborhoods. Listings reflect what is currently active on Craigslist; there is no historical archive of expired or deleted postings.
- Build a rental search app that filters Manhattan listings by max price and minimum bedroom count.
- Monitor newly posted apartments in a specific borough using
sort=dateandsubareafilters. - Aggregate listing thumbnails and coordinates to plot available rentals on a map.
- Alert users when listings matching their keyword query and price range appear.
- Collect
sqftandpricedata across subareas to analyze rent-per-square-foot trends. - Display full photo galleries and street addresses for saved listings using
get_listing_details. - Filter listings with
has_pic=1to exclude text-only posts from a user-facing rental feed.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Craigslist have an official developer API?+
What does `get_listing_details` return that `search_apartments` does not?+
get_listing_details returns the full images array (all listing photos, not just the thumbnail), a bathrooms count, and a street-level address string. The search endpoint returns only a single thumbnail URL and a neighborhood label without a specific street address.How many results can `search_apartments` return in one call?+
max_results parameter caps results at 360 per call. The total_results field in the response tells you the full count of matching listings so you know whether your query was truncated. There is no built-in pagination offset parameter in the current API, so queries returning more than 360 matches will not surface the full set.Does the API cover Craigslist apartment listings outside New York City?+
Does the API return listing description text?+
search_apartments endpoint returns summaries, and get_listing_details exposes address, images, coordinates, price, and bedroom/bathroom counts but does not include the free-text description body. You can fork this API on Parse and revise it to add description extraction from the listing detail response.