Discover/Craigslist API
live

Craigslist APIcraigslist.org

Access Craigslist listings, regional sites, and category data via API. Search apartments, vehicles, jobs, and more across all Craigslist regions.

Endpoint health
verified 23h ago
get_listing_detail
get_sites
get_categories
search_listings
4/4 passing latest checkself-healing
Endpoints
4
Updated
22d ago

What is the Craigslist API?

The Craigslist API covers 4 endpoints that expose listings, regional site metadata, and category mappings across every Craigslist region worldwide. Use search_listings to query any category — apartments, vehicles, jobs, gigs, missed connections — with filters for price, images, and sort order, then retrieve full posting details including coordinates, images, and address via get_listing_detail.

Try it

No input parameters required.

api.parse.bot/scraper/e5511f29-7fc5-4bb6-aeed-3f14ac55789e/<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/e5511f29-7fc5-4bb6-aeed-3f14ac55789e/get_sites' \
  -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, drill into details, browse sites."""
from parse_apis.craigslist_api import Craigslist, Category, Sort, ListingNotFound

craigslist = Craigslist()

# List regional sites to discover valid hostnames
for site in craigslist.sites.list(limit=3):
    print(site.hostname, site.description, site.country)
    for sub in site.sub_areas:
        print(f"  {sub.abbreviation}: {sub.description}")

# Search furniture listings in New York sorted by price
for listing in craigslist.listings.search(
    site="newyork.craigslist.org",
    query="couch",
    category=Category.FURNITURE,
    sort=Sort.PRICE_ASC,
    min_price=100,
    max_price=800,
    limit=5,
):
    print(listing.title, listing.price, listing.location)

# Drill into the first result for full details
listing = craigslist.listings.search(
    site="sfbay.craigslist.org",
    category=Category.ELECTRONICS,
    limit=1,
).first()
if listing:
    detail = listing.details()
    print(detail.title, detail.price, detail.description[:100])
    print(detail.latitude, detail.longitude, detail.posted_date)

# Handle a listing that no longer exists
try:
    gone = craigslist.listings.search(
        site="chicago.craigslist.org",
        category=Category.BICYCLES,
        limit=1,
    ).first()
    if gone:
        gone.details()
except ListingNotFound as exc:
    print(f"Listing gone: {exc.url}")

print("exercised: sites.list / listings.search / listing.details / ListingNotFound")
All endpoints · 4 totalmissing one? ·

Retrieve all Craigslist regional sites worldwide. Each site includes its hostname (used in search_listings), geographic coordinates, country, region, and available sub-areas. This is the reference endpoint for discovering valid site hostnames.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "items": "array of site objects with AreaID, Hostname, Description, Region, Country, Latitude, Longitude, SubAreas"
  },
  "sample": {
    "data": {
      "items": [
        {
          "AreaID": 1,
          "Region": "CA",
          "Country": "US",
          "Hostname": "sfbay",
          "Latitude": 37.5,
          "SubAreas": [
            {
              "SubAreaID": 1,
              "Description": "city of san francisco",
              "Abbreviation": "sfc",
              "ShortDescription": "san francisco"
            }
          ],
          "Timezone": "America/Los_Angeles",
          "Longitude": -122.25,
          "Description": "SF bay area",
          "Abbreviation": "sfo",
          "ShortDescription": "SF bay area"
        }
      ]
    },
    "status": "success"
  }
}

About the Craigslist API

Regional Sites and Categories

get_sites returns every Craigslist regional site as a structured object: AreaID, Hostname, Description, Region, Country, latitude/longitude, and an array of SubAreas (each with Abbreviation, Description, and SubAreaID). The Hostname value — for example newyork.craigslist.org — is the required input for search_listings. get_categories returns a flat dictionary mapping category codes to display names, covering dozens of categories from apa (apartments / housing for rent) to cta (cars+trucks) to mis (missed connections) and ggg (gigs).

Searching Listings

search_listings accepts a site hostname plus optional filters: query text, category code, sort order (relevant, date, priceasc, pricedsc), max_price, has_image, limit, and offset for pagination. Each result includes id, title, price (integer dollars; -1 for price-free categories), url, location, posted_date (ISO timestamp), images array, thumbnail, and housing-specific fields bedrooms and sqft where applicable.

Listing Detail

get_listing_detail takes a full listing URL that must include the subarea and category path segments — for example https://newyork.craigslist.org/mnh/mis/d/<slug>/<id>.html. It returns richer fields than the search results: city, region, address, latitude, longitude, a formatted price string with currency symbol, and a full images array. Expired or removed postings return a stale_input error rather than empty data, so callers should handle that response explicitly.

Coverage Notes

The API covers the full public listing surface: all categories returned by get_categories, all regional sites returned by get_sites, and both summary (search) and detail views of individual postings. Listings that require a Craigslist account to view are not accessible. The posted_date field may be null on some listings depending on how recently the data was indexed.

Reliability & maintenanceVerified

The Craigslist API is a managed, monitored endpoint for craigslist.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 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 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
23h ago
Latest check
4/4 endpoints 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
  • Monitor apartment listings in a specific city by polling search_listings with category apa and max_price to track rental market changes.
  • Build a vehicle price aggregator by searching category cta across multiple regional Hostname values and comparing price fields.
  • Track job postings in a metro area by searching the jjj category with a keyword query and sorting by date.
  • Alert users to new gig listings by checking search_listings with category ggg and filtering by has_image and recency via posted_date.
  • Enrich listing data for a real estate tool by calling get_listing_detail to retrieve latitude, longitude, address, and bedrooms for each result.
  • Populate a regional site selector UI using get_sites data — Description, Country, and SubAreas — without maintaining a static list.
  • Cross-reference listing categories by mapping get_categories codes to display names for a search interface or analytics pipeline.
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?+
Craigslist does not offer a public developer API. There is no official documented endpoint for programmatic access to listings or regional data.
What does `get_listing_detail` return beyond what `search_listings` includes?+
get_listing_detail returns fields not present in search results: address, city, region, latitude, and longitude. It also returns price as a formatted string with a currency symbol rather than a raw integer, and provides the full images array rather than just a thumbnail. The URL passed must include the subarea and category path segments or the request will fail.
How does pagination work in `search_listings`?+
Use the offset and limit parameters together. Set limit to control how many results come back per call, then increment offset by that amount on subsequent calls. There is no cursor or total-count field in the response, so callers should stop paginating when the returned result count falls below the requested limit.
Does the API expose seller contact information or reply-to email addresses from listings?+
Not currently. The API returns listing content fields — title, price, location, images, coordinates, and address — but does not expose contact details or anonymized reply addresses. You can fork this API on Parse and revise it to add an endpoint targeting the contact information portion of a listing page.
Are there any quirks with listing URLs returned by `search_listings`?+
Yes. The url field in search results uses a simplified format that may omit subarea or category path segments. get_listing_detail requires a full URL with those segments present. If you plan to call get_listing_detail on search results, verify the URL structure matches the expected pattern before passing it — or construct the URL from the id and known site hostname.
Page content last updated . Spec covers 4 endpoints from craigslist.org.
Related APIs in MarketplaceSee all →
craigslist.org API
Search Craigslist listings across any region and instantly access structured data including prices, locations, coordinates, images, and direct URLs. Find exactly what you're looking for with organized sale listings that are easy to filter and analyze.
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.
quikr.com API
Search for used products across Quikr by keyword and category with location filtering, then retrieve detailed listing information including prices, descriptions, and seller details. Access product categories and search suggestions to discover exactly what you're looking for in your area.
bizbuysell.com API
Search for businesses available for sale across multiple categories and view detailed information about specific listings on BizBuySell.com. Browse business categories to explore different industries and find opportunities that match your investment interests.
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.