API reference

List data plans

Get data plans and product codes. Request fields, response examples and integration guidance.

GET /products/internet

Example request

Server-side HTTP request
curl --request GET \
  --url "https://api.strongmb.ng/v1/products/internet" \
  --header "Authorization: Bearer $STRONGMB_API_KEY" \
  --header "Accept: application/json"

Returns all available data plans. Use the product_code from each plan when making a purchase.

JSON Response
{
  "status": true,
  "message": "Products retrieved successfully",
  "data": {
    "billers": {
      "10bba835-5385-4c3a-8f2b-123456789abc": {
        "name": "MTN NIGERIA",
        "id": "10bba835-5385-4c3a-8f2b-123456789abc",
        "description": "Internet Data",
        "icon": "https://cdn.mysite.local/assets/icon/internet/mtn-cf1c5524-d1d9-4ee2-ad01-3f711d5bdf41.png",
        "products": {
          "gif": {
            "name": "GIFTING",
            "id": "10bba851-8991-4c3a-8f2b-123456789abc",
            "description": "This is a test product type",
            "icon": null,
            "api_access": true,
            "items": [
              {
                "id": "10bbeba9-8d9f-4692-819b-db093ece6af9",
                "name": "10GB",
                "bundle_size_mb": 10000,
                "amount": "1000",
                "currency": "NGN",
                "validity": "30DAYS",
                "description": "This is a test product plan",
                "product_code": "smb_mtn_test_0001",
                "image": null
              }
            ]
          }
        }
      },
      "20bba835-5385-4c3a-8f2b-123456789abc": {
        "name": "AIRTEL NIGERIA",
        "id": "20bba835-5385-4c3a-8f2b-123456789abc",
        "description": "Internet Data",
        "icon": "https://cdn.mysite.local/assets/icon/internet/airtel-cf1c5524-d1d9-4ee2-ad01-3f711d5bdf41.png",
        "products": {
          "gif": {
            "name": "GIFTING",
            "id": "20bba851-8991-4c3a-8f2b-123456789abc",
            "description": "This is a test product type",
            "icon": null,
            "api_access": true,
            "items": [
              {
                "id": "20bbeba9-8d9f-4692-819b-db093ece6af9",
                "name": "10GB",
                "bundle_size_mb": 10000,
                "amount": "1000",
                "currency": "NGN",
                "validity": "30DAYS",
                "description": "This is a test product plan",
                "product_code": "smb_air_test_0001",
                "image": null
              }
            ]
          }
        }
      }
    }
  },
  "metadata": {
    "code": "PRODUCTS_RETRIEVED",
    "timestamp": 1790805221,
    "trace_id": "97FDCDD814"
  }
}

Read product entries from data.billers.{biller_id}.products.{product_type}.items. Iterate the returned items array and use each item’s product_code for the matching validation or purchase request.

Response fields and types

Expand an object to explore its fields. [] indicates an array item. Error responses may return data: null.

Field path JSON type Meaning and handling
status boolean Whether this API request succeeded. Check the HTTP status and metadata.code when handling errors.
message string Human-readable description of the result. Use metadata.code for programmatic error handling instead of parsing this text.
data object Response data. Check the result before reading nested fields; an error may return null or validation details.
data.billers object Providers keyed by their returned identifiers.
data.billers.{biller_id} object One provider. The key is dynamic, not a literal biller_id field.
data.billers.{biller_id}.name string Display name of the provider.
data.billers.{biller_id}.id string Provider identifier. Use the item product_code when purchasing.
data.billers.{biller_id}.description string Description of the provider or service.
data.billers.{biller_id}.icon string Provider icon URL. Allow for an unavailable image.
data.billers.{biller_id}.products object Product groups keyed by the returned product type.
data.billers.{biller_id}.products.{product_type} object One product group. Iterate the actual keys returned by the API.
data.billers.{biller_id}.products.{product_type}.name string Display name of the product group.
data.billers.{biller_id}.products.{product_type}.id string Identifier of the product group.
data.billers.{biller_id}.products.{product_type}.description string Description of this product group.
data.billers.{biller_id}.products.{product_type}.icon string | null Optional product-group icon. Null means no icon is supplied.
data.billers.{biller_id}.products.{product_type}.api_access boolean Whether this product group is available for API purchases.
data.billers.{biller_id}.products.{product_type}.items array Available product items. Refresh the list to obtain current prices, discounts and availability.
data.billers.{biller_id}.products.{product_type}.items[] object One purchasable product item.
data.billers.{biller_id}.products.{product_type}.items[].id string Identifier of the product item. Use product_code in purchase requests.
data.billers.{biller_id}.products.{product_type}.items[].name string Display name of the product item.
data.billers.{biller_id}.products.{product_type}.items[].bundle_size_mb number Data bundle size in megabytes; 10000 means 10GB in this example.
data.billers.{biller_id}.products.{product_type}.items[].amount string Price of this data bundle in the indicated currency, returned as a numeric string. The example price is NGN 1000.
data.billers.{biller_id}.products.{product_type}.items[].currency string Currency of the price or purchase amount; NGN means Nigerian naira.
data.billers.{biller_id}.products.{product_type}.items[].validity string Validity period of the data bundle; 30DAYS means 30 days.
data.billers.{biller_id}.products.{product_type}.items[].description string Description of this product item.
data.billers.{biller_id}.products.{product_type}.items[].product_code string Exact code to send in the matching validation or purchase request.
data.billers.{biller_id}.products.{product_type}.items[].image string | null Optional item image reference. It may be null.
metadata object Diagnostic information about the response.
metadata.code string Machine-readable result code. Use it to distinguish validation, authentication and service errors.
metadata.timestamp integer Unix timestamp in seconds associated with the response.
metadata.trace_id string Correlation identifier for troubleshooting. Retain it with a redacted request when contacting support.

Questions? Let’s work through them.

Having an issue or need help with your integration? Join the Strongmb Slack community to ask questions and get assistance from our team and other developers.

Keep API keys and customer details private when sharing examples.

Experiencing a service issue? Check Strongmb’s service status for incident updates.

Join our Slack community

Did this page help you?

Search documentation