Skip to content
WenToGo

For developers

One endpoint, zero setup.

Everything WenToGo knows about a set of travel dates is one GET away. There is no key to provision, no SDK to install and no environment to distinguish, because the API is read-only and answers the same for everyone.

Quickstart

Score one trip by asking for its dates. Country and destination are lowercase slugs; dates are inclusive ISO YYYY-MM-DD.

curl https://wentogo.com/api/trip/japan/tokyo/2027-04-01/2027-04-08

The response is JSON with a source_version, the scored trip and the factor breakdown. The same inputs on the same version return the same bytes, so cache by URL plus source_version and refetch only when the version moves.

The HTML twin of that answer lives at /trip/japan/tokyo/2027-04-01/2027-04-08: same verdict, written for people. Several browse pages also answer in Markdown when you send Accept: text/markdown, and every Markdown page is fetchable by appending .md to its URL.

Errors, limits and retries

Every origin error is JSON in one shape: {source_version, error: {code, message}} with a stable code such as UNKNOWN_DESTINATION or INVALID_DATE. An unknown /api/ path returns the same shape with NOT_PART_OF_PUBLIC_API, so a typo never hands you an HTML error page.

Fair use is enforced at the edge: 20 requests per 10 seconds per client IP across all /api/ paths, then a 429. Prerendered pages carry no limit, so prefer them for browsing. On a 429, wait the ten-second window and retry.

Every operation is a read-only GET, which makes the whole API idempotent by construction: a retry can never duplicate a booking, a charge or a record, because there is nothing to duplicate.

No key, no sandbox, nothing to sign up for

There is no free tier to buy, no API key to generate and no sandbox to point at, because the production API already is the safe environment: it reads a versioned data export, mutates nothing and bills nothing. If you can fetch this page, you have production access.

Need a destination list before you plan? /countries/ indexes every country and destination, and /planner-countries.json is the same catalogue as data.

Small timing, big difference.