製品データAPI(開発者向け)
3Techs に掲載している3Dプリンター・3Dスキャナーのスペックを、JSON で取得できる読み取り専用の公開APIです。登録やAPIキーは不要です。比較サイト・研究・社内ツールなどで、利用規約(出典の表記)を守ってご利用ください。
エンドポイント
ベースURL: https://www.3d-tech.org/api/v1。すべて GET のみです。
| パス | 内容 |
|---|---|
/api/v1/printers | 3Dプリンターの一覧 |
/api/v1/printers/{id} | 3Dプリンター1件 |
/api/v1/scanners | 3Dスキャナーの一覧 |
/api/v1/scanners/{id} | 3Dスキャナー1件 |
一覧のパラメータ
並び順は ID の昇順で固定です。ここにないパラメータや、形の正しくない値を渡すと 400 エラーになります。
| 名前 | 内容 | 既定値 |
|---|---|---|
limit | 1ページの件数(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 | 内容 |
|---|---|---|
| 400 | invalid_parameter | パラメータ・ID の形が正しくない |
| 404 | not_found | 指定した ID のデータがない |
| 429 | rate_limited | レート制限を超えた |
| 500 | internal_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)までご連絡ください。