For affiliate partners

Everything Roamic sells, as a feed.

Two JSON endpoints with the full Roamic eSIM catalog and one outbound link per destination. Always in sync with the store, so what you list is what a customer can actually buy right now.

Quick start

Replace {partner} with the partner name you agreed with your Roamic affiliate manager. Lowercase letters, numbers, hyphen and underscore.

https://feeds.roamic.com/{partner}/dataPlans
https://feeds.roamic.com/{partner}/links

Try it:

curl https://feeds.roamic.com/esimdb/dataPlans

Building the integration with an AI assistant? Point it at feeds.roamic.com/llms.txt, the same docs in machine readable markdown.

Endpoints

EndpointReturns
GET /{partner}/dataPlans Full catalog of purchasable plans. Same content for every partner.
GET /{partner}/links One landing link per destination. Pre-wrapped with your tracking link when we have it configured for your partner name.
GET /dataPlans Generic catalog, no partner tag.
GET /links Generic links, no partner tag.

Responses are JSON arrays, UTF-8, served with access-control-allow-origin: * and a 5 minute cache.

Data plans

FieldTypeMeaning
planNamestring Display name of the plan.
validityinteger Maximum duration in days without an extra payment.
dataCapnumber High speed data allowance before any throttling, in dataUnit. Never 0 for plans with a real allowance.
dataUnitstring Unit for dataCap. Currently always GB.
dataCapPerstring or null Reset period for recurring allowances. "day" means the allowance renews daily. null means one total allowance.
reducedSpeedstring Unlimited plans only: speed after the daily allowance, for example "1 Mbps".
pricesobject Final checkout price keyed by ISO 4217. EUR is the base currency and always present. Also served when available: USD, GBP, CAD, AUD, DKK, SEK, CHF and JPY, real per market store prices.
internetBreakoutsarray Where traffic exits to the public internet, ISO 3166-1 alpha-2.
coveragesarray Covered countries with their local operators: { "code": "JP", "networks": [ { "name": "NTT docomo", "type": "5G" } ] }.

A fixed allowance plan

{
  "planName": "Japan eSIM 3GB / 14 Days",
  "validity": 14,
  "dataCap": 3,
  "dataUnit": "GB",
  "dataCapPer": null,
  "prices": { "EUR": 2.99, "USD": 3, "GBP": 3, "DKK": 23, "JPY": 600 },
  "internetBreakouts": [ "HK" ],
  "coverages": [ { "code": "JP", "networks": [
    { "name": "NTT docomo", "type": "5G" } ] } ]
}

An unlimited plan with daily fair use

{
  "planName": "Japan eSIM Unlimited Data / 1 Day",
  "validity": 1,
  "dataCap": 3,
  "dataUnit": "GB",
  "dataCapPer": "day",
  "reducedSpeed": "1 Mbps",
  "prices": { "EUR": 2.99, "USD": 3, "GBP": 3 },
  "internetBreakouts": [ "HK" ],
  "coverages": [ { "code": "JP", "networks": [
    { "name": "NTT docomo", "type": "5G" } ] } ]
}

Unlimited plans keep full speed up to dataCap per dataCapPer, then continue at reducedSpeed. The cap you see is the real high speed allowance, as comparison sites require.

FieldTypeMeaning
namestring Call to action text, for example Japan eSIM.
linkstring Landing page for that destination on roamic.com.
typestring Always web.
targetsarray ISO 3166-1 alpha-2 country codes where the link applies.
{
  "name": "Japan eSIM",
  "link": "https://roamic.com/products/japan-esim",
  "type": "web",
  "targets": [ "JP" ]
}

Freshness and accuracy

The feed mirrors the store, not a database that can drift. The catalog is rebuilt from the live store once a day:

· Sold out plans and unpublished destinations are excluded automatically.
· Prices are the final checkout price in EUR, straight from the store.
· The x-feed-updated response header tells you when the data was last refreshed.

If you ever list something from this feed, a customer can buy it. Prices and plans change rarely, so a daily refresh keeps the feed exact.

Tracking and attribution

Roamic runs its affiliate program on impact.com. Two ways to use the links feed:

1. Wrap the links yourself. By default every link is a pure product URL with no tracking parameters. If you are on impact.com, wrap it with your own deep link, putting the URL encoded landing page in the u parameter. Impact adds its own tracking from there.

2. Ask us to embed your tracking link. We can configure your impact.com deep link on our side, so the link field comes out already wrapped and attribution just works. Tell your affiliate manager and it ships the same day.

Questions

Talk to your Roamic affiliate manager, or reach out through the program on impact.com. Technical issues with the feed are usually answered the same business day.