Tours
Search for tours and activities
Section titled “Search for tours and activities”GET
/v1/return_toursReturns tours/activities matching the search criteria. At least one filter parameter is recommended to limit results.
Pagination: Use limit (max 100) and offset for pagination.
Deposit-only products: Some tours are configured so the customer pays a small
reservation fee at booking and the balance is paid directly to the operator on
the day of the tour. These products will include booking_meta.deposit_only: "Yes" in the response. The vast majority of products do not have this flag and
are full-payment at booking; for those, the field is omitted entirely. Use
return_availability to retrieve the per-quote reserve_for amount once the
partner has selected dates and travelers.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string |
Optional | Specific product ID (e.g., “PE12031” or “12031”) |
country |
string |
Optional | Country name or slug (e.g., “ireland”). Use “all” for all countries. |
region |
string |
Optional | Region name or ID |
town |
string |
Optional | Town name or ID |
subcontinent |
string |
Optional | Subcontinent filter |
latitude |
number |
Optional | Latitude for geo-based search (requires longitude and range) |
longitude |
number |
Optional | Longitude for geo-based search (requires latitude and range) |
range |
integer |
Optional | Distance range in miles for geo-search |
name |
string |
Optional | Search by tour name (partial match) |
sa_id |
integer |
Optional | Sight/Attraction ID |
promotion |
integer |
Optional | Filter to promotional products only - Values: 0, 1 |
sort_by |
string |
Optional | Field to sort results by - Values: PRICE, RATING, DURATION |
sort_order |
string |
Optional | Sort order - Values: ASC, DESC - Default: ASC |
filter_by |
string |
Optional | Field to filter by - Values: NAME, TYPE, DIFFICULTY, LANGUAGE, ACTIVITIES, SIGHTS |
filter |
string |
Optional | Filter value (depends on filter_by) |
limit |
integer |
Optional | Maximum number of results to return - Default: 100 |
offset |
integer |
Optional | Number of results to skip (for pagination) - Default: 0 |
Code Examples
Section titled “Code Examples”curl -H "access-token: {{token}}" \ "https://apistage.projectexpedition.com/v1/return_tours?country=ireland"const response = await fetch('https://apistage.projectexpedition.com/v1/return_tours?country=ireland', { headers: { 'access-token': 'YOUR_TOKEN' }});
const data = await response.json();<?php$context = stream_context_create([ 'http' => [ 'method' => 'GET', 'header' => "access-token: YOUR_TOKEN" ]]);
$response = file_get_contents('https://apistage.projectexpedition.com/v1/return_tours?country=ireland', false, $context);$data = json_decode($response, true);curl -H "access-token: {{token}}" \ "https://apistage.projectexpedition.com/v1/return_tours?latitude=53.349805&longitude=-6.26031&range=50"const response = await fetch('https://apistage.projectexpedition.com/v1/return_tours?latitude=53.349805&longitude=-6.26031&range=50', { headers: { 'access-token': 'YOUR_TOKEN' }});
const data = await response.json();<?php$context = stream_context_create([ 'http' => [ 'method' => 'GET', 'header' => "access-token: YOUR_TOKEN" ]]);
$response = file_get_contents('https://apistage.projectexpedition.com/v1/return_tours?latitude=53.349805&longitude=-6.26031&range=50', false, $context);$data = json_decode($response, true);curl -H "access-token: {{token}}" \ "https://apistage.projectexpedition.com/v1/return_tours?country=ireland&filter_by=TYPE&filter=PRIVATE&sort_by=PRICE&sort_order=ASC"const response = await fetch('https://apistage.projectexpedition.com/v1/return_tours?country=ireland&filter_by=TYPE&filter=PRIVATE&sort_by=PRICE&sort_order=ASC', { headers: { 'access-token': 'YOUR_TOKEN' }});
const data = await response.json();<?php$context = stream_context_create([ 'http' => [ 'method' => 'GET', 'header' => "access-token: YOUR_TOKEN" ]]);
$response = file_get_contents('https://apistage.projectexpedition.com/v1/return_tours?country=ireland&filter_by=TYPE&filter=PRIVATE&sort_by=PRICE&sort_order=ASC', false, $context);$data = json_decode($response, true);