Browsable Browsable Docs

Craigslist API

Scrape public Craigslist search results by query and site with offset pagination.

POST /v1/craigslist/search

Request Parameters

Name In Type Required Description
query body string Yes Search query.
cursor body string No Cursor returned as next_cursor from the previous response.
limit body integer No Maximum number of results to return.
site body string No Craigslist subdomain to search.

Response Structure

Async kickoff response

Polled run result response

Sync response

Declared output schema

Code Examples

Async + polling

RUN=$(curl -s -X POST "https://api.browsable.app/v1/craigslist/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"lawnmower","cursor":"cursor-page-1","limit":25,"site":"sfbay"}')
RUN_ID=$(echo "$RUN" | jq -r '.run_id')
while true; do
RESULT=$(curl -s -H "Authorization: Bearer YOUR_API_KEY" "https://api.browsable.app/v1/runs/$RUN_ID")
STATUS=$(echo "$RESULT" | jq -r '.run_status')
if [ "$STATUS" = "succeeded" ] || [ "$STATUS" = "failed" ]; then
echo "$RESULT"
break
fi
sleep 2
done

Sync

curl -X POST "https://api.browsable.app/v1/craigslist/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"lawnmower","cursor":"cursor-page-1","limit":25,"site":"sfbay","_run":{"async":false}}'