{
  "ok": true,
  "source": {
    "id": "worldbank-cons",
    "label": "World Bank — Consumption",
    "auto": true
  },
  "base": {
    "code": "IE",
    "name": "Ireland",
    "currency": "EUR",
    "flag": "🇮🇪",
    "pppIndex": 1.021,
    "year": 2025
  },
  "target": {
    "code": "ZA",
    "name": "South Africa",
    "currency": "ZAR",
    "flag": "🇿🇦",
    "pppIndex": 0.433,
    "year": 2025
  },
  "items": [
    {
      "item": {
        "id": "rent-1br-center",
        "label": "Rent: 1-bedroom, city center",
        "emoji": "🏙️",
        "category": "Housing",
        "usPrice": 1750,
        "unit": "/month",
        "elasticity": 1.4,
        "monthlyQty": 0
      },
      "base": {
        "usd": 1801.67,
        "local": {
          "currency": "EUR",
          "amount": 1594.48
        }
      },
      "target": {
        "usd": 542.15,
        "local": {
          "currency": "ZAR",
          "amount": 9698.52
        }
      },
      "pctDiff": -69.91
    },
    {
      "item": {
        "id": "rent-1br-outside",
        "label": "Rent: 1-bedroom, outside center",
        "emoji": "🏡",
        "category": "Housing",
        "usPrice": 1400,
        "unit": "/month",
        "elasticity": 1.4,
        "monthlyQty": 1
      },
      "base": {
        "usd": 1441.33,
        "local": {
          "currency": "EUR",
          "amount": 1275.58
        }
      },
      "target": {
        "usd": 433.72,
        "local": {
          "currency": "ZAR",
          "amount": 7758.82
        }
      },
      "pctDiff": -69.91
    },
    {
      "item": {
        "id": "rent-3br-center",
        "label": "Rent: 3-bedroom, city center",
        "emoji": "🏢",
        "category": "Housing",
        "usPrice": 3200,
        "unit": "/month",
        "elasticity": 1.4,
        "monthlyQty": 0
      },
      "base": {
        "usd": 3294.47,
        "local": {
          "currency": "EUR",
          "amount": 2915.61
        }
      },
      "target": {
        "usd": 991.36,
        "local": {
          "currency": "ZAR",
          "amount": 17734.44
        }
      },
      "pctDiff": -69.91
    },
    {
      "item": {
        "id": "meal-cheap",
        "label": "Meal, inexpensive restaurant",
        "emoji": "🍜",
        "category": "Food out",
        "usPrice": 18,
        "unit": "",
        "elasticity": 1.1,
        "monthlyQty": 8
      },
      "base": {
        "usd": 18.42,
        "local": {
          "currency": "EUR",
          "amount": 16.3
        }
      },
      "target": {
        "usd": 7.17,
        "local": {
          "currency": "ZAR",
          "amount": 128.26
        }
      },
      "pctDiff": -61.07
    },
    {
      "item": {
        "id": "dinner-mid",
        "label": "Dinner for two, mid-range",
        "emoji": "🍽️",
        "category": "Food out",
        "usPrice": 75,
        "unit": "3 courses",
        "elasticity": 1.1,
        "monthlyQty": 2
      },
      "base": {
        "usd": 76.73,
        "local": {
          "currency": "EUR",
          "amount": 67.91
        }
      },
      "target": {
        "usd": 29.87,
        "local": {
          "currency": "ZAR",
          "amount": 534.34
        }
      },
      "pctDiff": -61.07
    },
    {
      "item": {
        "id": "fastfood-combo",
        "label": "Fast-food combo meal",
        "emoji": "🍔",
        "category": "Food out",
        "usPrice": 11,
        "unit": "",
        "elasticity": 1,
        "monthlyQty": 0
      },
      "base": {
        "usd": 11.23,
        "local": {
          "currency": "EUR",
          "amount": 9.94
        }
      },
      "target": {
        "usd": 4.76,
        "local": {
          "currency": "ZAR",
          "amount": 85.15
        }
      },
      "pctDiff": -57.61
    },
    {
      "item": {
        "id": "milk",
        "label": "Milk, 1L",
        "emoji": "🥛",
        "category": "Groceries",
        "usPrice": 1.1,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 8
      },
      "base": {
        "usd": 1.12,
        "local": {
          "currency": "EUR",
          "amount": 0.99
        }
      },
      "target": {
        "usd": 0.56,
        "local": {
          "currency": "ZAR",
          "amount": 10.02
        }
      },
      "pctDiff": -50
    },
    {
      "item": {
        "id": "bread",
        "label": "Bread, fresh loaf 500g",
        "emoji": "🍞",
        "category": "Groceries",
        "usPrice": 3.2,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 6
      },
      "base": {
        "usd": 3.25,
        "local": {
          "currency": "EUR",
          "amount": 2.88
        }
      },
      "target": {
        "usd": 1.64,
        "local": {
          "currency": "ZAR",
          "amount": 29.34
        }
      },
      "pctDiff": -49.54
    },
    {
      "item": {
        "id": "eggs",
        "label": "Eggs, dozen",
        "emoji": "🥚",
        "category": "Groceries",
        "usPrice": 3.4,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 4
      },
      "base": {
        "usd": 3.46,
        "local": {
          "currency": "EUR",
          "amount": 3.06
        }
      },
      "target": {
        "usd": 1.74,
        "local": {
          "currency": "ZAR",
          "amount": 31.13
        }
      },
      "pctDiff": -49.71
    },
    {
      "item": {
        "id": "chicken",
        "label": "Chicken breast, 1kg",
        "emoji": "🍗",
        "category": "Groceries",
        "usPrice": 10,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 4
      },
      "base": {
        "usd": 10.17,
        "local": {
          "currency": "EUR",
          "amount": 9
        }
      },
      "target": {
        "usd": 5.12,
        "local": {
          "currency": "ZAR",
          "amount": 91.59
        }
      },
      "pctDiff": -49.66
    },
    {
      "item": {
        "id": "rice",
        "label": "White rice, 1kg",
        "emoji": "🍚",
        "category": "Groceries",
        "usPrice": 4,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 2
      },
      "base": {
        "usd": 4.07,
        "local": {
          "currency": "EUR",
          "amount": 3.6
        }
      },
      "target": {
        "usd": 2.05,
        "local": {
          "currency": "ZAR",
          "amount": 36.67
        }
      },
      "pctDiff": -49.63
    },
    {
      "item": {
        "id": "apples",
        "label": "Apples, 1kg",
        "emoji": "🍎",
        "category": "Groceries",
        "usPrice": 4.8,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 3
      },
      "base": {
        "usd": 4.88,
        "local": {
          "currency": "EUR",
          "amount": 4.32
        }
      },
      "target": {
        "usd": 2.46,
        "local": {
          "currency": "ZAR",
          "amount": 44.01
        }
      },
      "pctDiff": -49.59
    },
    {
      "item": {
        "id": "cheese",
        "label": "Local cheese, 1kg",
        "emoji": "🧀",
        "category": "Groceries",
        "usPrice": 12,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 1
      },
      "base": {
        "usd": 12.2,
        "local": {
          "currency": "EUR",
          "amount": 10.8
        }
      },
      "target": {
        "usd": 6.14,
        "local": {
          "currency": "ZAR",
          "amount": 109.84
        }
      },
      "pctDiff": -49.67
    },
    {
      "item": {
        "id": "water-bottle",
        "label": "Water, 1.5L bottle",
        "emoji": "💧",
        "category": "Groceries",
        "usPrice": 2,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 8
      },
      "base": {
        "usd": 2.03,
        "local": {
          "currency": "EUR",
          "amount": 1.8
        }
      },
      "target": {
        "usd": 1.02,
        "local": {
          "currency": "ZAR",
          "amount": 18.25
        }
      },
      "pctDiff": -49.75
    },
    {
      "item": {
        "id": "pint",
        "label": "Domestic beer, pint (draught)",
        "emoji": "🍺",
        "category": "Drinks",
        "usPrice": 6,
        "unit": "0.5L",
        "elasticity": 1.1,
        "monthlyQty": 6
      },
      "base": {
        "usd": 6.14,
        "local": {
          "currency": "EUR",
          "amount": 5.43
        }
      },
      "target": {
        "usd": 2.39,
        "local": {
          "currency": "ZAR",
          "amount": 42.75
        }
      },
      "pctDiff": -61.07
    },
    {
      "item": {
        "id": "beer-import",
        "label": "Imported beer, 330ml bottle",
        "emoji": "🍻",
        "category": "Drinks",
        "usPrice": 8,
        "unit": "",
        "elasticity": 0.4,
        "monthlyQty": 0
      },
      "base": {
        "usd": 8.07,
        "local": {
          "currency": "EUR",
          "amount": 7.14
        }
      },
      "target": {
        "usd": 5.72,
        "local": {
          "currency": "ZAR",
          "amount": 102.33
        }
      },
      "pctDiff": -29.12
    },
    {
      "item": {
        "id": "cappuccino",
        "label": "Cappuccino",
        "emoji": "☕",
        "category": "Drinks",
        "usPrice": 5,
        "unit": "regular",
        "elasticity": 1.1,
        "monthlyQty": 12
      },
      "base": {
        "usd": 5.12,
        "local": {
          "currency": "EUR",
          "amount": 4.53
        }
      },
      "target": {
        "usd": 1.99,
        "local": {
          "currency": "ZAR",
          "amount": 35.6
        }
      },
      "pctDiff": -61.13
    },
    {
      "item": {
        "id": "coke",
        "label": "Coke/Pepsi, 330ml",
        "emoji": "🥤",
        "category": "Drinks",
        "usPrice": 2.3,
        "unit": "",
        "elasticity": 0.8,
        "monthlyQty": 0
      },
      "base": {
        "usd": 2.34,
        "local": {
          "currency": "EUR",
          "amount": 2.07
        }
      },
      "target": {
        "usd": 1.18,
        "local": {
          "currency": "ZAR",
          "amount": 21.11
        }
      },
      "pctDiff": -49.57
    },
    {
      "item": {
        "id": "transit-month",
        "label": "Public transport, monthly pass",
        "emoji": "🚇",
        "category": "Transport",
        "usPrice": 65,
        "unit": "/month",
        "elasticity": 1,
        "monthlyQty": 1
      },
      "base": {
        "usd": 66.36,
        "local": {
          "currency": "EUR",
          "amount": 58.73
        }
      },
      "target": {
        "usd": 28.15,
        "local": {
          "currency": "ZAR",
          "amount": 503.58
        }
      },
      "pctDiff": -57.58
    },
    {
      "item": {
        "id": "transit-single",
        "label": "Public transport, one-way",
        "emoji": "🎫",
        "category": "Transport",
        "usPrice": 2.75,
        "unit": "",
        "elasticity": 1,
        "monthlyQty": 0
      },
      "base": {
        "usd": 2.81,
        "local": {
          "currency": "EUR",
          "amount": 2.49
        }
      },
      "target": {
        "usd": 1.19,
        "local": {
          "currency": "ZAR",
          "amount": 21.29
        }
      },
      "pctDiff": -57.65
    },
    {
      "item": {
        "id": "taxi-start",
        "label": "Taxi start (normal tariff)",
        "emoji": "🚕",
        "category": "Transport",
        "usPrice": 4,
        "unit": "",
        "elasticity": 1.1,
        "monthlyQty": 0
      },
      "base": {
        "usd": 4.09,
        "local": {
          "currency": "EUR",
          "amount": 3.62
        }
      },
      "target": {
        "usd": 1.59,
        "local": {
          "currency": "ZAR",
          "amount": 28.44
        }
      },
      "pctDiff": -61.12
    },
    {
      "item": {
        "id": "taxi-km",
        "label": "Taxi, per km",
        "emoji": "🛣️",
        "category": "Transport",
        "usPrice": 1.8,
        "unit": "/km",
        "elasticity": 1.1,
        "monthlyQty": 0
      },
      "base": {
        "usd": 1.84,
        "local": {
          "currency": "EUR",
          "amount": 1.63
        }
      },
      "target": {
        "usd": 0.72,
        "local": {
          "currency": "ZAR",
          "amount": 12.88
        }
      },
      "pctDiff": -60.87
    },
    {
      "item": {
        "id": "petrol",
        "label": "Petrol/gasoline, 1L",
        "emoji": "⛽",
        "category": "Transport",
        "usPrice": 0.95,
        "unit": "",
        "elasticity": 0.4,
        "monthlyQty": 0
      },
      "base": {
        "usd": 0.96,
        "local": {
          "currency": "EUR",
          "amount": 0.85
        }
      },
      "target": {
        "usd": 0.68,
        "local": {
          "currency": "ZAR",
          "amount": 12.16
        }
      },
      "pctDiff": -29.17
    },
    {
      "item": {
        "id": "utilities",
        "label": "Basic utilities, 85m² apartment",
        "emoji": "💡",
        "category": "Utilities & comms",
        "usPrice": 200,
        "unit": "/month",
        "elasticity": 1,
        "monthlyQty": 1
      },
      "base": {
        "usd": 204.2,
        "local": {
          "currency": "EUR",
          "amount": 180.72
        }
      },
      "target": {
        "usd": 86.6,
        "local": {
          "currency": "ZAR",
          "amount": 1549.19
        }
      },
      "pctDiff": -57.59
    },
    {
      "item": {
        "id": "internet",
        "label": "Internet, 60Mbps+ unlimited",
        "emoji": "🌐",
        "category": "Utilities & comms",
        "usPrice": 70,
        "unit": "/month",
        "elasticity": 1,
        "monthlyQty": 1
      },
      "base": {
        "usd": 71.47,
        "local": {
          "currency": "EUR",
          "amount": 63.25
        }
      },
      "target": {
        "usd": 30.31,
        "local": {
          "currency": "ZAR",
          "amount": 542.22
        }
      },
      "pctDiff": -57.59
    },
    {
      "item": {
        "id": "mobile",
        "label": "Mobile plan, 10GB+ data",
        "emoji": "📱",
        "category": "Utilities & comms",
        "usPrice": 45,
        "unit": "/month",
        "elasticity": 1,
        "monthlyQty": 1
      },
      "base": {
        "usd": 45.94,
        "local": {
          "currency": "EUR",
          "amount": 40.66
        }
      },
      "target": {
        "usd": 19.49,
        "local": {
          "currency": "ZAR",
          "amount": 348.66
        }
      },
      "pctDiff": -57.58
    },
    {
      "item": {
        "id": "gym",
        "label": "Gym membership, month",
        "emoji": "🏋️",
        "category": "Lifestyle",
        "usPrice": 50,
        "unit": "/month",
        "elasticity": 1.1,
        "monthlyQty": 1
      },
      "base": {
        "usd": 51.16,
        "local": {
          "currency": "EUR",
          "amount": 45.28
        }
      },
      "target": {
        "usd": 19.91,
        "local": {
          "currency": "ZAR",
          "amount": 356.17
        }
      },
      "pctDiff": -61.08
    },
    {
      "item": {
        "id": "cinema",
        "label": "Cinema seat",
        "emoji": "🎬",
        "category": "Lifestyle",
        "usPrice": 14,
        "unit": "",
        "elasticity": 1.1,
        "monthlyQty": 2
      },
      "base": {
        "usd": 14.32,
        "local": {
          "currency": "EUR",
          "amount": 12.67
        }
      },
      "target": {
        "usd": 5.58,
        "local": {
          "currency": "ZAR",
          "amount": 99.82
        }
      },
      "pctDiff": -61.03
    },
    {
      "item": {
        "id": "haircut",
        "label": "Men's haircut",
        "emoji": "💈",
        "category": "Lifestyle",
        "usPrice": 30,
        "unit": "",
        "elasticity": 1.1,
        "monthlyQty": 1
      },
      "base": {
        "usd": 30.69,
        "local": {
          "currency": "EUR",
          "amount": 27.16
        }
      },
      "target": {
        "usd": 11.95,
        "local": {
          "currency": "ZAR",
          "amount": 213.77
        }
      },
      "pctDiff": -61.06
    },
    {
      "item": {
        "id": "jeans",
        "label": "Jeans (mid-range brand)",
        "emoji": "👖",
        "category": "Lifestyle",
        "usPrice": 55,
        "unit": "",
        "elasticity": 0.4,
        "monthlyQty": 0
      },
      "base": {
        "usd": 55.46,
        "local": {
          "currency": "EUR",
          "amount": 49.08
        }
      },
      "target": {
        "usd": 39.35,
        "local": {
          "currency": "ZAR",
          "amount": 703.93
        }
      },
      "pctDiff": -29.05
    },
    {
      "item": {
        "id": "sneakers",
        "label": "Running shoes (brand)",
        "emoji": "👟",
        "category": "Lifestyle",
        "usPrice": 90,
        "unit": "",
        "elasticity": 0.4,
        "monthlyQty": 0
      },
      "base": {
        "usd": 90.75,
        "local": {
          "currency": "EUR",
          "amount": 80.31
        }
      },
      "target": {
        "usd": 64.39,
        "local": {
          "currency": "ZAR",
          "amount": 1151.87
        }
      },
      "pctDiff": -29.05
    },
    {
      "item": {
        "id": "coworking",
        "label": "Coworking hot desk, month",
        "emoji": "💻",
        "category": "Lifestyle",
        "usPrice": 250,
        "unit": "/month",
        "elasticity": 1.1,
        "monthlyQty": 0
      },
      "base": {
        "usd": 255.78,
        "local": {
          "currency": "EUR",
          "amount": 226.37
        }
      },
      "target": {
        "usd": 99.56,
        "local": {
          "currency": "ZAR",
          "amount": 1781.03
        }
      },
      "pctDiff": -61.08
    }
  ],
  "categoryTotals": [
    {
      "category": "Housing",
      "base": 6537.47,
      "target": 1967.23,
      "pctDiff": -69.91
    },
    {
      "category": "Food out",
      "base": 106.38,
      "target": 41.8,
      "pctDiff": -60.71
    },
    {
      "category": "Groceries",
      "base": 41.18,
      "target": 20.73,
      "pctDiff": -49.66
    },
    {
      "category": "Drinks",
      "base": 21.67,
      "target": 11.28,
      "pctDiff": -47.95
    },
    {
      "category": "Transport",
      "base": 76.06,
      "target": 32.33,
      "pctDiff": -57.49
    },
    {
      "category": "Utilities & comms",
      "base": 321.61,
      "target": 136.4,
      "pctDiff": -57.59
    },
    {
      "category": "Lifestyle",
      "base": 498.16,
      "target": 240.74,
      "pctDiff": -51.67
    }
  ],
  "monthlyBudget": {
    "base": 2473.09,
    "target": 864.15,
    "pctDiff": -65.06
  },
  "attribution": {
    "sources": [
      {
        "id": "worldbank-cons",
        "label": "World Bank — Consumption",
        "attribution": "Computed from World Bank Open Data (PA.NUS.PRVT.PP ÷ PA.NUS.FCRF). Latest available year per country.",
        "updated": "2026-09-09",
        "year": 2025,
        "url": "https://data.worldbank.org/indicator/PA.NUS.PRVT.PP"
      }
    ],
    "citation": "Geo-Parity — Cost of Living & Salary Comparison. Data: World Bank — Consumption (2025). https://geo-parity.com/cost-of-living/ireland-vs-south-africa/",
    "permalink": "https://geo-parity.com/cost-of-living/ireland-vs-south-africa/",
    "terms": "Free to use and quote with attribution. Figures are estimates for orientation, not advice."
  }
}