Travel & communities
Couchsurfing API
Read public Couchsurfing member profiles, community events, city event listings, location search and the hosts and travelers of a city with source fields preserved.
Retrieve public Couchsurfing profiles, events, locations, hosts and travelers, with identifiers, images, pagination cursors and structured records.
API availability: Available
http://localhost:3018Public API: https://api.scrapeatlas.com.Endpoints
/v1/couchsurfing/profileGet a Couchsurfing profile
Retrieve one public member profile by handle: identity, about text, home and travel locations, languages, interests, photos, legacy profile answers, friend count and published prompt answers.
Reference/v1/couchsurfing/eventGet a Couchsurfing event
Retrieve one public community event (hangout) by URL: title, description, schedule, activity, venue with coordinates and map link, cover image, recurrence, organizer summaries, participation counters and the public interested/attending previews.
Reference/v1/couchsurfing/eventsList Couchsurfing events by location
List the upcoming public events of a Couchsurfing location with the location's published summary, statistics and FAQ, filtered by date window and paged with a cursor.
Reference/v1/couchsurfing/locationsSearch Couchsurfing locations
Search Couchsurfing cities, regions and countries by name and get the location slugs used by the events, hosts and travelers endpoints, ranked by relevance.
Reference/v1/couchsurfing/hostsSearch Couchsurfing hosts by location
Search the public hosts of a Couchsurfing location with optional sleeping-arrangement, pets, family, wheelchair, smoking and recent-activity filters: member cards with languages, interests, home location and reference counts, paged with a cursor.
Reference/v1/couchsurfing/travelersList Couchsurfing travelers by location
List the members with a public upcoming trip to a Couchsurfing location: member cards plus each trip's title, dates and traveler count, paged with a cursor.
ReferenceQuick start
Create an API key on your account page, then call the public API. Values below are placeholders.
curl "https://api.scrapeatlas.com/v1/couchsurfing/profile?handle=Couchsurfing" \
-H "x-api-key: YOUR_API_KEY"Coverage & limits
- Independent stateless worker, port 3018, COUCHSURFING_API_KEY in x-api-key. No database, login, browser or result storage.
- Reads the site's public JSON records under an anonymous guest session; profile, event and first-page event reads fall back to the public page when the JSON source changes shape.
- Four concurrent requests and up to eight waiting requests. Waiting is limited to five seconds within the 20-second request deadline. At most eight upstream exchanges per request including one transient retry. Challenges and 429 responses are not retried. Redirects are rejected.
- Fixed www.couchsurfing.com HTTPS origin. At most 8 MiB decoded source data, 200,000 parsed nodes, depth 32 and 100 records per array. No scripts, media or outbound links are fetched.
- Caller-carried offset cursors up to 10,000. Page sizes: events 1–50 (default 20), locations 1–50 (default 10), hosts and travelers 1–20 (default 10).
- Private profiles fail with restricted; deleted records fail with not_found.
- Event interested and attending lists are the source previews, marked attendee_preview_only. Counters are source values.
- Viewer-relative fields (friend and block status, mutual counts, current-user flags), locale settings, raw participant join records and geospatial index cells are excluded. Member search cards exclude gender, sexuality, lifestyle answers and full visited-place records.
| HTTP | failure.code | Meaning |
|---|---|---|
| 200 | partial | Usable page data with explicit coverage warnings. |
| 400 | invalid_request | Missing, duplicate, unsupported or malformed parameters. |
| 401 | unauthorized | Missing or invalid service key. |
| 403 | restricted | Private member profile. |
| 404 | not_found | Missing or deleted profile, event or location. |
| 429 | upstream_rate_limited | Source throttled retrieval. |
| 502 | upstream_challenged | The source challenged the request. |
| 502 | unsupported_page | Missing, malformed or mismatched structured source data. |
| 502 | response_too_large payload_too_complex | Byte, node or depth limit exceeded. |
| 502 | unsafe_redirect request_limit upstream_error | Bounded retrieval failed. |
| 503 | busy | All slots are occupied. |
| 504 | timeout | Deadline expired. |