Affiliate program
Promote eSimHero to travelers and creators. Clear terms, fair attribution, and tools to integrate plans and pricing.
Program at a glance
These are the pillars of how we work with affiliates today.
10% commission on net sales
Earn on completed orders after discounts. Taxes and fees may be excluded depending on region; exact terms are in your partner agreement.
30-day cookie window
Attribution lasts 30 days from your referral link click, so you get credit for shoppers who return within that window.
First-touch attribution
The first qualifying referral receives commission when the sale completes—no confusing last-click overrides.
API for plans, pricing & data
Use our affiliate catalogue API to pull destinations, plans, and live retail pricing for your site, apps, or internal tools.
Affiliate API
Two read-only JSON endpoints for your site, app or comparison table. Every plan and link comes back ready to publish, with your referral tag attached.
Authentication
Your API key goes in the URL path. Keys are issued per partner and sent in your onboarding email - keep them server-side and don't ship them in client-side code.
curl "https://esimhero.com/api/affiliate/catalogue/esh_3f9c1a7e2b8d4f6a0c5e9b2d7a4f1c83?utm=true" \
-H "Accept: application/json"- Caching
- Responses are cached for 5 minutes (Cache-Control: public, max-age=300). Pricing and coverage refresh automatically.
- Errors
- An unknown or deactivated key returns 401 with this JSON body:
{"error": "Invalid API key"}
/api/affiliate/catalogue/{apiKey}Returns every active retail plan with pricing in all supported currencies (USD, EUR, GBP), network coverage per country, and a ready-to-use checkout URL.
Query parameters
| utm | boolean — Set to true to append your referral tag to every purchase URL, so clicks are attributed to you: ?utm_source=your-slug |
Response schema
| slug | string — Stable plan identifier. |
| name | string — Human-readable plan name (destination, data, validity). |
| data | object — Data allowance as bytes, a display string and an unlimited flag. |
| validity | object — Validity as days, unit and a formatted display string. |
| prices | array — One entry per currency with amount, currency and symbol. |
| speed | string — Network speed label, e.g. 5G or LTE. |
| type | string — Plan type, e.g. data. |
| category | string — standard, or unlimited for day passes with a daily high-speed cap. |
| popular | boolean — Whether we highlight this plan on the destination page. |
| coverage | object — Coverage type (local, regional or global) plus every covered country and its networks. |
| purchase_url | string — Direct checkout link, including your utm_source when utm=true. |
Example response
[
{
"slug": "france-5gb-30-days",
"name": "France 5 GB 30 days",
"data": {
"bytes": 5368709120,
"display": "5 GB",
"unlimited": false
},
"validity": {
"days": 30,
"unit": "DAY",
"display": "30 days"
},
"prices": [
{ "amount": 12.99, "currency": "USD", "symbol": "$" },
{ "amount": 11.99, "currency": "EUR", "symbol": "€" },
{ "amount": 10.49, "currency": "GBP", "symbol": "£" }
],
"speed": "5G",
"type": "data",
"category": "standard",
"popular": true,
"coverage": {
"type": "local",
"countries": [
{
"name": "France",
"iso": "FR",
"networks": [
{ "name": "Orange", "type": "5G" }
]
}
]
},
"purchase_url": "https://esimhero.com/france-esim/france-5gb-30-days/checkout?utm_source=yourbrand"
}
]/api/affiliate/links/{apiKey}Returns one link per destination we sell - countries and regions - with the ISO codes each link should be shown for. Built for comparison sites that place destination links by visitor location.
Response schema
| name | string — CTA text, max 30 characters. |
| link | string — Destination page URL. |
| type | "web" — Platform type of the destination. Always web. |
| targets | string[] — ISO country codes this link should be shown for. Regional links list every member country. |
Example response
[
{
"name": "France eSIM",
"link": "https://esimhero.com/france-esim?utm_source=yourbrand",
"type": "web",
"targets": ["FR"]
},
{
"name": "Europe eSIM",
"link": "https://esimhero.com/europe-esim?utm_source=yourbrand",
"type": "web",
"targets": ["FR", "DE", "ES", "IT", "PT"]
}
]Apply now
Tell us where you'll promote us and the discount code you want. We'll get you set up and email your API key.
By joining, you agree to our Affiliate Terms & Conditions