# Get voyage options between locations **GET /route-optimizer/api/external** Retrieves multimodal transport routes between specified origin and destination points.
**⚠️ This API is only accessible after explicit access has been granted. If you wish to gain access, please contact us at support@routescanner.com.** ## Servers - Routescanner base URL: https://connect.routescanner.com (Routescanner base URL) ## Parameters #### Query parameters - **origin** (string) Starting location identifier (e.g., locode, terminal UUID, or lat,lng coordinates) - **originType** (string) Type of origin location ('LOCODE', 'TERMINAL', 'GEO') - **destination** (string) Ending location identifier (e.g., locode, terminal UUID, or lat,lng coordinates) - **destinationType** (string) Type of destination location ('LOCODE', 'TERMINAL', 'GEO') - **modalities** (array[string]) Transport modes to include in route options. If not specified, all modes will be considered - **minDeparture** (string(date)) Earliest acceptable departure date for the first leg of the journey - **maxDeparture** (string(date)) Latest acceptable departure date for the first leg of the journey - **maxArrival** (string(date)) Latest acceptable arrival date at the final destination - **maxTransfers** (integer(int32)) Maximum number of transfers allowed in the route - **allRequiredOperators** (array[string]) List of operators that must ALL be included in the route options - **anyRequiredOperators** (array[string]) List of operators where at least ONE must be included in the route options - **excludedOperators** (array[string]) List of operators to explicitly exclude from route options - **anyRequiredLocodes** (array[string]) UN/LOCODE locations where at least ONE must be included in the route - **allRequiredLocodes** (array[string]) UN/LOCODE locations that must ALL be included in the route - **excludedLocodes** (array[string]) UN/LOCODE locations to explicitly exclude from route options - **maxFirstMileTruckingKm** (integer(int32)) Maximum distance in kilometers allowed for initial trucking segment from origin to first terminal - **maxLastMileTruckingKm** (integer(int32)) Maximum distance in kilometers allowed for final trucking segment from last terminal to destination - **sort** (string) Sorting criteria for results ('EMISSION_CO2', 'DURATION') - **directSeaOnly** (boolean) When true, only return routes with direct sea connections without transshipments between sea legs - **maxEmission** (integer(int64)) Maximum total CO2e emissions in kilograms allowed for the entire route - **maxLeadTime** (string(ISO-8601 duration)) Maximum total transit time allowed for the journey in ISO-8601 duration format (e.g., 'P5D' for 5 days) ## Responses ### 200: OK #### Body Parameters: application/json (object) - **results** (array[object]) ### 400: Bad request, query parameters were wrong ### 403: Forbidden, provided credentials are not valid. ### 401: Unauthorized, missing credentials. ### 500: Something went wrong on the Routescanner server. [Powered by Bump.sh](https://bump.sh)