電気料金比較シミュレーションAPI

すぐ試せる:APIテスター
ブラウザでリクエストを送ってレスポンスを確認できます:
https://npc-share.com/api-tester.html
※無料トライアル期間中のみ APIキー入力不要でお試しできます。

基本情報

API名: 電気料金比較シミュレーションAPI

説明: 地域コード、契約容量(AまたはkVA)、検針月、月間電気使用量(kWh)、およびカスタムURLを基に、電気料金の計算および各種の情報提供を行うAPIです。

認証

タイプ: Bearer Token (APIキー)

使用方法: APIリクエストのヘッダーに Authorization: Bearer <あなたのAPIキー> を追加して認証情報を提供します。

エンドポイント情報

エンドポイントURL: https://npc-share.com/api/ec-estimator/calculate

メソッド: POST

Content-Type: application/json

リクエストパラメータ

area (必須): 地域コード

型: string(例: "1"

amp (必須): アンペア/契約容量

型: string(例: "amp10" / "kva6"

selectedMonth (必須): 検針月

型: string(例: "month1"

※指定値は month1month12 のいずれかです(month1=1月 … month12=12月)。
実際に採用された年月は、レスポンスの commonData.realyear(例: "2026年3月")および commonData.realmonth(例: 3)に入ります。
realmonth は数値(月番号)です。

※「何年の◯月が採用されるか」は、毎月の更新タイミングで切り替わります。
翌月分への切り替えは毎月10~15日頃を目途に反映されます。
例:2026年2月時点で month3 を指定した場合、切替前後で採用年(commonData.realyear)が変わる可能性があります。

※下記は例であり、実際の採用年はレスポンスの commonData.realyear を参照してください。

※切替タイミング(毎月10~15日頃)直後は、キャッシュや反映順により見え方が変わる場合があります。最終的な採用年月は常に commonData.realyear/commonData.realmonth を参照してください。

kWh (必須): 電気使用量

型: number または number文字列(例: 1000 / "1000"

0以上の整数(最大 9,999,999)

customUrl (必須): 専用URLの末尾

型: string(例: "55555"

basePlanId(任意): CO2差分算出の基準プランID

型: string(例: "101"

指定した場合、各プランの CO2 に co2.diff(基準との差分)が付きます。未指定の場合は差分は付きません。
例のレスポンスでは basePlanId: "101" が採用されています。

privateKey(任意): APIキー(ボディ送信用)

型: string

通常は Authorization ヘッダーに指定してください。ボディ指定は互換用途です。

数値の丸めについて(重要)

/api/ec-estimator/calculate は計算精度を優先するため、金額などが小数で返ることがあります(表示側で適宜丸めてください)。
※Webフォーム(画面表示)では、表示安定のために 整数に丸めた値 を返す実装になっている場合があります。

レスポンス構造

success: 処理の成功または失敗(true/false)

data: 計算結果のオブジェクト。planDatacommonData を含みます。

data.planData(オブジェクト)

キーが「プランID」、値が「計算結果+カスタムプラン情報+CO2情報+単価情報」を持つオブジェクトです。

※金額(ans等)は小数が返る場合があります(例: 36541.600000000006)。表示時に丸める場合はフロント側で整形してください。

data.commonData(共通データ)

inputKwh.yearmonth * 12 の固定ではなく、内部の算出ロジックにより小数になる場合があります(例: 10546.679072386763)。

kWh単価(unit)

一部の金額項目は、入力kWhで割った「kWh単価(円/kWh)」を unit として返します。

planData[planId].unit

commonData.unit

CO2情報(co2)

CO2は「係数(t-CO2/kWh)」を解決し、月/年の排出量をkg整数で確定した上で、表示安定化のためtもkgから再生成します。 また、基準プランがある場合は差分(kg整数)も付与します。

係数の採用ルール(resolverの優先順位)

providerKey / menuKey / overrideAdjusted_t_per_kwh を元に、採用する係数(adjusted_t_per_kwh)を決定します。

  1. override(最優先)overrideAdjusted_t_per_kwh が number なら採用(0 も明示overrideとして採用)
  2. menuproviders[providerKey].menus[menuKey].adjusted_t_per_kwh が number なら採用(残差メニューもOK)
  3. provider_referenceproviders[providerKey].provider_reference.adjusted_t_per_kwh が number なら採用(最後の代替)
  4. 上記すべて無ければ no_factor(CO2算出不可)

co2(成功時)

co2(失敗時)

co2.diff(差分:基準プランがある場合のみ)

CO2係数データセット(commonData.co2Dataset)

CO2係数はサーバー内のデータセット(例:data/co2_factors/r08_2026.json)から読み込まれます。

custom_plan_description について(重要)

custom_plan_description は、ログインユーザーが管理画面で HTML/CSS(<style>含む) を文字列として自由に設定できます。
そのため、フロントでそのままHTMLとして描画する場合は、XSS対策(許可タグ制限・サニタイズ等)を必ず行ってください。

レスポンス例(実データ準拠:北海道エリア・10アンペア・1000kWh)

{
  "success": true,
  "data": {
    "planData": {
      "101": {
        "ans": 36541.600000000006,
        "amp": 418,
        "nencho": -11760,
        "yoryo": 0,
        "yoryoall": 0,
        "co2": {
          "ok": true,
          "factorType": "adjusted",
          "factorSource": "menu",
          "adjusted_t_per_kwh": 0.000526,
          "month": { "kg": 526, "t": 0.526 },
          "year": { "kg": 5548, "t": 5.548 },
          "gasoline": { "month_liters_equiv": 228.7, "year_liters_equiv": 2412.2 },
          "meta": {
            "providerKey": "hokkaido_ep",
            "providerLabel": "北海道電力",
            "menuKey": "F_residual",
            "menuLabel": "メニューF(残差)",
            "isResidual": true,
            "planLabel": "北海道電力(従量電灯B/C)",
            "datasetId": "env_r08_denki_coefficient",
            "datasetUpdatedAt": "2026-02-13",
            "sourceUrl": "https://policies.env.go.jp/earth/ghg-santeikohyo/files/calc/r08_denki_coefficient.pdf"
          },
          "diff": { "basePlanId": "101", "month_kg": 0, "year_kg": 0, "gasoline_year_liters_equiv": 0 }
        },
        "custom_plan_name": "ほくでん 従量電灯B/C",
        "custom_plan_url": "URLなし",
        "unit": {
          "nencho_yen_per_kwh": -11.76,
          "monthsaienefukakin_yen_per_kwh": 3.98
        }
      }
    },
    "commonData": {
      "monthsaienefukakin": 3980,
      "saienefukakinall": 41975.78270809932,
      "realyear": "2026年3月",
      "realmonth": 3,
      "co2Dataset": {
        "id": "env_r08_denki_coefficient",
        "label": "環境省 電気事業者別排出係数(令和8年度提出用)",
        "unit": "t-CO2/kWh",
        "updatedAt": "2026-02-13",
        "sourceUrl": "https://policies.env.go.jp/earth/ghg-santeikohyo/files/calc/r08_denki_coefficient.pdf"
      },
      "inputKwh": {
        "month": 1000,
        "year": 10546.679072386763
      },
      "basePlanId": "101",
      "unit": { "monthsaienefukakin_yen_per_kwh": 3.98 }
    }
  }
}

使用例 (JavaScript fetch API)

fetch('https://npc-share.com/api/ec-estimator/calculate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer ここにあなたのAPIキー'
  },
  body: JSON.stringify({
    area: "1",
    amp: "amp10",
    selectedMonth: "month1",
    kWh: 1000,
    customUrl: "55555",
    basePlanId: "101"
  })
})
.then(function (response) { return response.json(); })
.then(function (data) { console.log(data); })
.catch(function (error) { console.error('Error:', error); });

エラー(代表例)