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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| sorted_travel-0.1.1.tar.gz | 21.1 kB | With provenance | Details for sorted_travel-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sorted_travel-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for sorted_travel-0.1.1-py3-none-any.whl |
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 logSecurity for sorted-travel 0.1.1
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for sorted_travel-0.1.1.tar.gz
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 logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.