製品データAPI(開発者向け)

3Techs に掲載している3Dプリンター・3Dスキャナーのスペックを、JSON で取得できる読み取り専用の公開APIです。登録やAPIキーは不要です。比較サイト・研究・社内ツールなどで、利用規約(出典の表記)を守ってご利用ください。

エンドポイント

ベースURL: https://www.3d-tech.org/api/v1。すべて GET のみです。

パス内容
/api/v1/printers3Dプリンターの一覧
/api/v1/printers/{id}3Dプリンター1件
/api/v1/scanners3Dスキャナーの一覧
/api/v1/scanners/{id}3Dスキャナー1件

一覧のパラメータ

並び順は ID の昇順で固定です。ここにないパラメータや、形の正しくない値を渡すと 400 エラーになります。

名前内容既定値
limit1ページの件数(1〜100)20
offset先頭から何件飛ばすか(0 以上)0
method方式の ID で絞り込み(プリンターは造形方式、スキャナーは計測方式)なし
companyメーカーの ID で絞り込みなし
in_production販売中(true)/販売終了(false)で絞り込みなし
curl "https://www.3d-tech.org/api/v1/printers?limit=10&method=1&in_production=true"

レスポンス

一覧は data(配列)と meta(総件数 total、次ページの next_offset と next。最後のページでは null)を返します。単体取得は data に1件のオブジェクトを返します。

  • 単位は項目名の末尾に付けています(_mm・_um(μm)・_kg・_c(℃)・_nm・_mm_s(mm/秒)・_fps)。
  • 価格は price_jpy(円)と price_usd(米ドル)を別々に返します。為替で換算した値ではありません。
  • 値が未登録の項目は null(複数値の項目は空配列)です。
  • スキャナーの scan_area_mm は「210 x 150」のような文字列です。

3Dプリンター一覧の例(GET /api/v1/printers?limit=10):

{
  "data": [
    {
      "id": 1,
      "name": "Example Printer X1",
      "url": "https://www.3d-tech.org/search/1",
      "company": {
        "id": 3,
        "name": "Example Inc."
      },
      "method": {
        "id": 1,
        "name": "Fused Deposition Modeling",
        "name_ja": "熱溶解積層方式",
        "abbreviation": "FDM"
      },
      "price_jpy": 49800,
      "price_usd": 299,
      "build_volume_mm": {
        "x": 220,
        "y": 220,
        "z": 250
      },
      "dimensions_mm": {
        "x": 400,
        "y": 410,
        "z": 470
      },
      "weight_kg": 7.5,
      "resolution_xy_um": null,
      "resolution_z_um": 100,
      "layer_pitch_mm": {
        "min": 0.05,
        "max": 0.35
      },
      "speed_mm_s": {
        "min": null,
        "max": 500
      },
      "nozzle_temp_c": 300,
      "bed_temp_c": 100,
      "chamber_temp_c": null,
      "nozzle_sizes_mm": [
        0.4,
        0.6
      ],
      "filament_sizes_mm": [
        1.75
      ],
      "wavelength_nm": null,
      "power_supply": "100-240V",
      "is_in_production": true,
      "released_on": "2025-03-01",
      "product_url": "https://example.com/x1",
      "japan": {
        "has_giteki": true,
        "has_japanese_support": true,
        "distributor_name": null,
        "distributor_url": null,
        "official_price_jpy": 49800,
        "warranty_months": 12
      }
    }
  ],
  "meta": {
    "total": 120,
    "limit": 10,
    "offset": 0,
    "next_offset": 10,
    "next": "https://www.3d-tech.org/api/v1/printers?limit=10&offset=10"
  },
  "attribution": {
    "text": "3Techs(https://www.3d-tech.org)",
    "url": "https://www.3d-tech.org/",
    "terms": "https://www.3d-tech.org/developers#terms"
  }
}

3Dスキャナーは accuracy_mm(精度)・resolution_mm・point_distance_mm・scan_area_mm(min / max)・working_distance_mm(min / max)・scan_speed_fps・has_color・connection・weight_kgなどを返します(id・name・url・company・method・価格・販売状況はプリンターと同じ形)。

エラー

エラーは次の形で返します。

{
  "error": {
    "code": "invalid_parameter",
    "message": "limit は 1〜100 で指定してください"
  }
}
ステータスcode内容
400invalid_parameterパラメータ・ID の形が正しくない
404not_found指定した ID のデータがない
429rate_limitedレート制限を超えた
500internal_errorサーバー側のエラー

レート制限・キャッシュ

  • 1つの IP アドレスにつき 60 秒あたり 60 回までです。超えると 429 を返し、Retry-After ヘッダーで再開できるまでの秒数を知らせます。
  • レスポンスには X-RateLimit-Limit(上限)・X-RateLimit-Remaining(残り回数)・X-RateLimit-Reset(リセット時刻の UNIX 秒)を付けます。
  • 制限はサーバーのインスタンスごとに数えているため、目安としての上限で、厳密なものではありません。CDN のキャッシュから返ったレスポンスのヘッダーの値は、そのときのものとは限りません。
  • 成功したレスポンスは最大5分間キャッシュされます。データの更新はその分遅れて反映されます。 大量のデータが必要なときは、短い間隔で繰り返し取得せず、手元に保存してお使いください。
  • ブラウザから直接呼べるよう、Access-Control-Allow-Origin: *(CORS)を付けています。

利用規約

このAPIと、APIで取得したデータを使う場合は、次の条件に同意したものとみなします。

出典の表記

  • データを表示・公開するときは、利用者が見える場所に「3Techs(https://www.3d-tech.org)」と出典を表記してください。
  • Webサイト・アプリでは、出典として3Techs(https://www.3d-tech.org/、または該当する製品の3Techsのページ)へのリンクを付けてください。
  • 加工・集計したデータを公開する場合も、元データが3Techsのものであることを表記してください。

データの正確性

  • データはメーカーの公開情報などをもとに3Techsがまとめたもので、正確性・完全性・最新性は保証しません。 購入などの判断の前に、必ずメーカーの公式情報をご確認ください。
  • APIの仕様・提供は予告なく変更・停止することがあります。APIの利用で生じた損害について、3Techsの故意または重大な過失による場合を除き、3Techsは責任を負いません。

禁止事項

  • 出典を表記せずにデータを公開・再配布すること
  • データを3Techs自身のものではないように見せたり、3Techsが特定の製品を推奨しているように見せたりすること
  • データをそのまま、またはほぼそのまま販売すること
  • レート制限を回避する目的で、複数のIPアドレスなどから大量にアクセスすること
  • サービスの運営を妨げる使い方や、法令・公序良俗に反する使い方

誤りを見つけた場合や、上限を超える利用を相談したい場合は、X(@threejp)までご連絡ください。