sorted-travel
Official Python, JavaScript, Go, and Ruby SDK and CLI for the Sorted Travel REST API.
This repository publishes:
- Python:
sorted-travelon PyPI (pip install sorted-travel) - JavaScript:
sorted-travelon npm (npm install sorted-travel, source injs/) - Go:
github.com/a-l-e-x-k/sorted-travel-sdk/go(go get github.com/a-l-e-x-k/sorted-travel-sdk/go/sortedtravel, source ingo/) - Ruby:
sorted-travelon RubyGems (gem install sorted-travel, source inruby/) - Agent skill:
skills/sorted-travel/SKILL.mdon skills.sh - Agent Plugin:
plugin.json,skills/, andmcp.json(Agent Plugins v1)
This is a stdlib-only Python client and a zero-dependency JavaScript client for the public endpoints at https://sorted.travel. Destination ranking, facts, weather, and visa tools are a free tier with zero-auth access. An API key is optional.
- Homepage: https://sorted.travel
- Developer portal: https://sorted.travel/developers
- SDK guide: https://sorted.travel/sdks.md
- OpenAPI: https://sorted.travel/openapi.json
- MCP: https://sorted.travel/mcp
- Smithery: sorted-travel/destinations
- PyPI: https://pypi.org/project/sorted-travel/
- npm: https://www.npmjs.com/package/sorted-travel/
- Go module: https://pkg.go.dev/github.com/a-l-e-x-k/sorted-travel-sdk/go/sortedtravel
- RubyGems: https://rubygems.org/gems/sorted-travel
Agent skill (skills.sh)
Install the Sorted Travel agent skill for Cursor, Claude Code, Codex, and other supported agents:
npx skills add a-l-e-x-k/sorted-travel-sdk
Non-interactive install for Cursor:
npx skills add a-l-e-x-k/sorted-travel-sdk -y -a cursor
The skill teaches agents when to use Sorted Travel, how to connect MCP at https://sorted.travel/mcp, and which tools to call. Source: skills/sorted-travel/SKILL.md.
Connect MCP directly with mcp.json or Smithery:
npx -y smithery mcp add sorted-travel/destinations
Install SDKs
Python:
pip install sorted-travel
JavaScript:
npm install sorted-travel
Go:
go get github.com/a-l-e-x-k/sorted-travel-sdk/go/sortedtravel@v0.1.1
Ruby:
gem install sorted-travel
Quickstart (Python)
from sorted_travel import Client
client = Client()
print(client.status())
page = client.list_destinations(limit=20)
print(page["data"][0]["handle"], page["has_more"])
Destination tools need no key. If a host still requires one:
client = Client(api_key="st_sandbox_...") # or set SORTED_TRAVEL_API_KEY
Self-serve sandbox keys:
payload = client.create_api_key()
Quickstart (JavaScript)
import { Client } from "sorted-travel"
const client = new Client()
await client.status()
await client.listDestinations({ limit: 20 })
Quickstart (Go)
import (
"context"
"github.com/a-l-e-x-k/sorted-travel-sdk/go/sortedtravel"
)
client := sortedtravel.NewClient()
client.Status(context.Background())
limit := 20
client.ListDestinations(context.Background(), nil, &limit)
Quickstart (Ruby)
require "sorted_travel"
client = SortedTravel::Client.new
client.status
client.list_destinations(limit: 20)
CLI
sorted-travel status
sorted-travel destinations --limit 5
sorted-travel sandbox
sorted-travel api-key
JavaScript CLI via npm:
npx sorted-travel status
Go CLI:
go run ./go/cmd/sorted-travel status
Ruby CLI:
sorted-travel status
Configuration
| Constructor arg | Environment variable | Default |
|---|---|---|
api_key |
SORTED_TRAVEL_API_KEY |
— |
base_url |
SORTED_TRAVEL_BASE_URL |
https://sorted.travel |
timeout |
— | 30.0 seconds |
Surface
status()—GET /api/v1/statuslist_destinations(cursor=, limit=)—GET /api/v1/destinationscreate_api_key()—POST /api/v1/api-keyssandbox()—GET /sandboxcreate_job(operation, **body)—POST /api/v1/jobsget_job(job_id)—GET /api/v1/jobs/{job_id}get(path, params=)/post(path, body=)— raw REST escape hatch
Interactive ranking, weather, and visa still go through MCP at https://sorted.travel/mcp. These SDK packages do not wrap JSON-RPC.
License
MIT. The Sorted Travel product remains under its own terms at https://sorted.travel/terms.
Release files for sorted-travel 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sorted_travel-0.1.1.tar.gz | 21.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sorted_travel-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.9 kB
Release files / sorted_travel-0.1.1.tar.gz
| Download URL | sorted_travel-0.1.1.tar.gz |
|---|---|
| Size | 21.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
faa7fd5ad97b2ada99e43d6caa2af65b710df03de9fb773b8e20bb8f39d75534
|
|
BLAKE2b-256 checksum How to use checksums |
7d0e1570fd0832d99e6f5d17a968cf68e0e2dd9bf71d7a2f3bdba8fa2ed202d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency logRelease files / sorted_travel-0.1.1-py3-none-any.whl
| Download URL | sorted_travel-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6d8a3a1d693bba56fad82555c989be819356f5a1883cae57885244757cc875e
|
|
BLAKE2b-256 checksum How to use checksums |
147ce6c082516464af0cdd56da903aed9283b61a8a25b024b386029a24b39124
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency log