# Shoppi Mobile Top-Up & Bundle Catalog

> Shoppi Mobile Top-Up & Bundle Catalog is a paid API for AI agents from shoppi-backend.onrender.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Returns a paginated catalog of prepaid mobile top-up and bundle offers with carrier brands, country availability, voice/SMS/data allowances, and pricing details.

## Facts

- Endpoint: GET https://shoppi-backend.onrender.com/api/catalog/topups/offers
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/shoppi-backend-onrender-com-5beac598
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pzFvcjUpcrEXrjTg5U1ph

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability shoppi-backend-onrender-com-5beac598
```

Example prompt: Show me all available prepaid mobile top-up and bundle offers for Spain — I want to see the carrier brands, data allowances, and prices for each plan.

## When to prefer this

Use this endpoint when you need to discover and browse prepaid mobile top-up and bundle offers across international carriers, filtered by country or operator. Prefer this over gift card or eSIM endpoints when the user specifically wants voice/SMS/data recharge plans for a mobile number rather than travel eSIMs or retail vouchers.

## Known failure modes

- Invalid country ISO code returns empty result set or 400 error
- Invalid operator name returns empty list
- Pagination offset beyond available records returns empty list
- Service temporarily unavailable on Render free tier (cold start delay or downtime)
- Payment failure (x402 protocol) prevents catalog retrieval

## How this service works

Returns a catalog of prepaid mobile top-up and bundle offers, including offer IDs, carrier brands, countries, included voice/SMS/data allowances, and pricing details.

## Output

A list of mobile top-up and bundle offer objects, each containing: offer ID, brand name, country (ISO code), region, product type (TOPUP or bundle), price (fixed amount, currency, FX rate, margin), data in GB (or unlimited flag), SMS count, voice minutes, duration in days, and sub-type labels (e.g. 'Mobile Top Up', 'Mobile Bundle').

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "limit": 10,
   "offset": 0,
   "country": "ES"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "limit": {
       "type": "number",
       "description": "Results per page"
      },
      "offset": {
       "type": "number",
       "description": "Pagination offset"
      },
      "country": {
       "type": "string",
       "description": "ISO country code e.g. ES"
      },
      "operator": {
       "type": "string",
       "description": "Mobile operator name"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "list",
  "limit",
  "total",
  "offset"
 ],
 "properties": {
  "list": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "brand",
     "notes",
     "price",
     "dataGB",
     "country",
     "offerId",
     "regions",
     "subTypes",
     "brandName",
     "priceType",
     "smsNumber",
     "shortNotes",
     "productType",
     "durationDays",
     "smsUnlimited",
     "voiceMinutes",
     "dataUnlimited",
     "voiceUnlimited"
    ],
    "properties": {
     "brand": {
      "type": "string"
     },
     "notes": {
      "type": "string"
     },
     "price": {
      "type": "object",
      "required": [
       "fx",
       "fee",
       "fixed",
       "margin",
       "currency",
       "suggestedFixed",
       "currencyDivisor"
      ],
      "properties": {
       "fx": {
        "type": "number"
       },
       "fee": {
        "type": "number"
       },
       "fixed": {
        "type": "number"
       },
       "margin": {
        "type": "number"
       },
       "currency": {
        "type": "string"
       },
       "suggestedFixed": {
        "type": "number"
       },
       "currencyDivisor": {
        "type": "number"
       }
      }
     },
     "dataGB": {
      "type": "number"
     },
     "country": {
      "type": "string"
     },
     "offerId": {
      "type": "string"
     },
     "regions": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "subTypes": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "brandName": {
      "type": "string"
     },
     "priceType": {
      "type": "string"
     },
     "smsNumber": {
      "type": "number"
     },
     "shortNotes": {
      "type": "string"
     },
     "productType": {
      "type": "string"
     },
     "durationDays": {
      "type": "number"
     },
     "smsUnlimited": {
      "type": "boolean"
     },
     "voiceMinutes": {
      "type": "number"
     },
     "dataUnlimited": {
      "type": "boolean"
     },
     "voiceUnlimited": {
      "type": "boolean"
     }
    }
   }
  },
  "limit": {
   "type": "number"
  },
  "total": {
   "type": "number"
  },
  "offset": {
   "type": "number"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/shoppi-backend-onrender-com-5beac598/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from shoppi-backend.onrender.com](https://www.zero.xyz/host/shoppi-backend.onrender.com/llms.txt)
