Discover/Craigslist API
live

Craigslist APIinlandempire.craigslist.org

Search Craigslist for sale listings across any region. Returns titles, prices, coordinates, images, and URLs via a single structured endpoint.

Endpoint health
verified 5d ago
search_listings
1/1 passing latest checkself-healing
Endpoints
1
Updated
26d ago

What is the Craigslist API?

The Craigslist API provides one endpoint — search_listings — that returns up to dozens of structured for-sale listings per call, with 10 fields per listing including title, price, GPS coordinates, image arrays, and direct posting URLs. It covers all major Craigslist regions and category codes, making it straightforward to query items across geography or category without manually browsing regional subdomains.

Try it
Sort order for results
Maximum number of listings to return
Search keyword(s)
Craigslist region subdomain (e.g. 'sfbay', 'inlandempire', 'newyork', 'chicago')
Craigslist category code
Maximum price filter as a numeric string (e.g. '5000')
Minimum price filter as a numeric string (e.g. '100')
api.parse.bot/scraper/16e674d4-65b2-457c-b105-c5c214760322/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/16e674d4-65b2-457c-b105-c5c214760322/search_listings?sort=rel&limit=10&query=peloton&region=inlandempire&category=sss&max_price=2000&min_price=50' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace craigslist-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Craigslist SDK — search listings with filters, enums, and error handling."""
from parse_apis.craigslist_listings_search_api import Craigslist, Sort, Category, RegionNotFound

client = Craigslist()

# Search for bicycles in SF Bay Area, sorted by price ascending
for listing in client.listings.search(query="bicycle", region="sfbay", sort=Sort.PRICE_ASC, limit=5):
    print(listing.title, listing.price, listing.area)

# Filter by price range and category
affordable = client.listings.search(
    query="peloton",
    region="inlandempire",
    category=Category.FOR_SALE,
    min_price="100",
    max_price="800",
    limit=3,
).first()

if affordable:
    print(affordable.title, affordable.price, affordable.url)
    print(f"Location: {affordable.location} ({affordable.latitude}, {affordable.longitude})")
    print(f"Images: {len(affordable.images)}")

# Typed error handling for invalid regions
try:
    result = client.listings.search(query="couch", region="fakecity123", limit=1).first()
except RegionNotFound as exc:
    print(f"Region not found: {exc.region}")

print("exercised: listings.search with Sort enum, Category enum, price filters, and RegionNotFound error")
All endpoints · 1 totalmissing one? ·

Full-text search over a Craigslist region's for-sale listings. query matches listing titles and descriptions; sort controls result ordering. Filtering by price range is supported. Returns up to limit results in a single page with total_results indicating the full result count upstream. Each listing includes posting_id, title, price, location coordinates, thumbnail images, and a direct URL to the posting.

Input
ParamTypeDescription
sortstringSort order for results
limitintegerMaximum number of listings to return
querystringSearch keyword(s)
regionstringCraigslist region subdomain (e.g. 'sfbay', 'inlandempire', 'newyork', 'chicago')
categorystringCraigslist category code
max_pricestringMaximum price filter as a numeric string (e.g. '5000')
min_pricestringMinimum price filter as a numeric string (e.g. '100')
Response
{
  "type": "object",
  "fields": {
    "query": "search keyword used",
    "region": "Craigslist region searched",
    "listings": "array of Listing objects",
    "total_results": "total number of results reported by Craigslist",
    "results_returned": "number of listings returned in this response"
  },
  "sample": {
    "data": {
      "query": "peloton",
      "region": "inlandempire",
      "listings": [
        {
          "url": "https://inlandempire.craigslist.org/d/los-angeles-peloton-tread-treadmill/29854352.html",
          "area": "inlandempire",
          "price": 3200,
          "title": "Peloton Tread + Treadmill 2019 Model HD 32\" Touchscreen",
          "images": [
            "https://images.craigslist.org/00r0r_3AxeTxr0OYx_0aw0gw_600x450.jpg"
          ],
          "latitude": 34.029,
          "location": "",
          "longitude": -118.4005,
          "posting_id": 29854352,
          "price_display": "$3,200"
        }
      ],
      "total_results": 10,
      "results_returned": 3
    },
    "status": "success"
  }
}

About the Craigslist API

What the API Returns

The search_listings endpoint accepts a query keyword and a region subdomain (e.g. sfbay, newyork, chicago, inlandempire) and returns a flat array of listing objects. Each listing includes posting_id, title, price (numeric), price_display (formatted string), location, area, latitude, longitude, images (array of image URLs), and a direct url to the Craigslist posting. The response also reports total_results (the count Craigslist attributes to the query) and results_returned (the count actually delivered in this response).

Filtering and Sorting

You can narrow results with min_price and max_price (passed as numeric strings) and control ordering via the sort parameter, which accepts rel (relevance), date (newest first), dateoldest, priceasc, and pricedsc. The limit parameter caps how many listings come back per call. The category parameter lets you target a specific vertical: sss covers all for-sale items, while cta restricts to cars and trucks.

Regional Coverage

Craigslist operates hundreds of regional subdomains. The region input takes the subdomain prefix as a string, so switching between markets is a single parameter change. There is no built-in multi-region aggregation in one call — each request targets exactly one region. Combine calls across regions in your own code if you need cross-market coverage.

Reliability & maintenanceVerified

The Craigslist API is a managed, monitored endpoint for inlandempire.craigslist.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when inlandempire.craigslist.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official inlandempire.craigslist.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track price trends for a specific item (e.g. 'Peloton') across multiple Craigslist regions using the price field
  • Build a used-car search tool filtered by min_price/max_price using the cta category code
  • Plot listing density on a map using the latitude and longitude fields returned per listing
  • Monitor new listings in near real-time by sorting with sort=date and comparing posting_id values
  • Aggregate image thumbnails from the images array to power a visual listing feed
  • Identify arbitrage opportunities by querying the same keyword across several regional subdomains and comparing price values
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Craigslist have an official developer API?+
No. Craigslist does not offer a public developer API. There is no official endpoint or developer program documented on craigslist.org.
How does pagination work — can I retrieve listings beyond the first page?+
The limit parameter controls how many listings are returned per call. The response includes total_results so you can compare it against results_returned to know how many listings Craigslist attributes to the query. Offset-based pagination is not a built-in parameter on this endpoint; if you need deeper pagination, you can fork the API on Parse and revise it to add an offset or page parameter.
Does the API return listing descriptions or seller contact information?+
Not currently. The search_listings endpoint returns listing-level fields — title, price, location, coordinates, images, and URL — but not the full posting body text or any seller contact details. You can fork the API on Parse and revise it to add a detail endpoint that fetches the full posting content by URL.
Can I search categories other than for-sale items, such as housing or jobs?+
The current category parameter supports sss (all for sale) and cta (cars and trucks). Housing, jobs, services, and other Craigslist sections are not covered by this endpoint. You can fork the API on Parse and revise it to pass different category codes for those sections.
How fresh is the listing data, and do removed listings stay in results?+
Results reflect what Craigslist currently shows for the query at the time of the request. Listings that have been deleted or expired on Craigslist will not appear, since the data reflects the live search results page rather than a cached snapshot.
Page content last updated . Spec covers 1 endpoint from inlandempire.craigslist.org.
Related APIs in MarketplaceSee all →
craigslist.org API
Search and retrieve Craigslist listings for apartments, vehicles, jobs, services, and other categories across all regional sites to find exactly what you're looking for. Get detailed information about specific listings, browse by location and category, and compare options all in one place.
losangeles.craigslist.org API
Search and browse Craigslist Los Angeles listings with powerful filtering options, including keyword search, price ranges, category filters, and location-based results. Retrieve full listing details across all major categories including for sale, housing, jobs, and more.
Craigslist Apartments API
Search and filter Craigslist apartment listings by neighborhood, bedroom count, price range, and image availability. Retrieve detailed listing information including full descriptions, contact details, photos, and location data.
kijiji.ca API
Search and browse Kijiji listings across categories like rentals, pets, and jobs, while viewing detailed information about specific ads along with available locations and categories. Filter through thousands of Canadian classifieds to find exactly what you're looking for in your area.
clasificadosonline.com API
Search and retrieve listings from ClasificadosOnline.com — Puerto Rico's classifieds platform. Browse cars, rental properties, and jobs with flexible filters for location, price, make/model, and more.
cars.com API
Search for vehicles on Cars.com using filters like price, make, and model, then get detailed specifications and dealer inventory information for any listing you're interested in. Access comprehensive vehicle details including pricing, features, and dealer contact information all in one place.
kleinanzeigen.de API
Search and retrieve classified ad listings from kleinanzeigen.de. Filter by keyword, category, price range, and sorting order. Supports vehicles, real estate, jobs, electronics, and general products, with full listing details including title, price, description, location, and seller information.
leboncoin.fr API
Search and retrieve detailed listings from Leboncoin across cars, real estate, jobs, and other categories with advanced filtering options. Access seller profiles, pricing analytics, and comprehensive listing details to find exactly what you're looking for on France's leading classifieds platform.