Home
Providers
Three.js
Three.js
Three.js is an open-source JavaScript 3D library originally created by Ricardo Cabello (mrdoob) in 2010 and now maintained by a broad community of contributors. It abstracts WebGL and WebGPU behind a clean object-oriented API — Scenes, Cameras, Lights, Geometries, Materials, Textures, Loaders, Controls, Animation, and Post-Processing — to make interactive 3D in the browser practical for games, product configurators, data visualization, generative art, GIS, scientific visualization, simulations, AR/VR (WebXR), and creative coding. The library ships as the `three` npm package under MIT license with a rich addon ecosystem (`three/addons/*`) including dozens of loaders for industry asset formats (glTF, OBJ, FBX, USDZ, KTX2, DRACO), controls, helpers, post-processing passes, and a node-based shading language (TSL) that targets both WebGL and WebGPU. A browser-based editor at threejs.org/editor produces scenes in a documented JSON object format. Three.js has become the de-facto foundation for the JavaScript 3D ecosystem and underpins higher-level projects including React Three Fiber, A-Frame, model-viewer, Threlte, and TroisJS.
Three.js publishes 6 APIs on the APIs.io network. Tagged areas include 3D, Graphics, WebGL, WebGPU, and JavaScript.
The Three.js catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.
Three.js’ developer surface includes developer portal, documentation, code examples, sandbox, changelog, support, tooling, and 22 more developer resources.
6 APIs
21 Features
On this page
Kin Score
APIs 6
Features 21
Vocabularies 1
Spectral Rules 1
JSON Schema 3
Examples 1
Security Posture 1
Resources 29
apis.yml
21 Operational Transparency
Composite quality — 25.7/100 · emerging
Contract Quality
7.7 / 25
Developer Ergonomics
7.6 / 20
Operational Transparency
2.7 / 13
Contract Governance
1.2 / 12
Agent readiness — 1/100 · human only
Machine-Readable Contract
0 / 18
Agentic Access Contract
0 / 10
Documented Reversibility
0 / 6
MCP Server
0 / 12
Machine-Readable Auth
0 / 10
Idempotency
0 / 9
Stable Error Semantics
0 / 8
Request/Response Examples
7 / 7
Rate-Limit Signaling
0 / 7
Typed Event Surface
0 / 6
Agent Skills
0 / 5
Well-Known Catalog
0 / 4
Consent & Bot Identity
0 / 3
A2A Agent Card
0 / 8
Dry-Run / Simulate Mode
0 / 4
Delegated User Identity
0 / 6
Protected Resource Metadata
0 / 5
Registration Without a Human
0 / 6
Agentic Commerce Surface
0 / 5
Individual APIs this provider publishes, each with its own machine-readable definition.
Notable capabilities this provider offers.
WebGLRenderer — production WebGL 2 renderer with PBR materials, shadows, instancing, and morph targets
WebGPURenderer — next-generation WebGPU backend with the Node Material System (TSL) authoring model
TSL — Three.js Shading Language, a node-based shader graph that compiles to both GLSL and WGSL
Scene graph based on Object3D with Groups, LOD, Bones, Skinned meshes, InstancedMesh, and BatchedMesh
Cameras — PerspectiveCamera, OrthographicCamera, ArrayCamera, StereoCamera, CubeCamera
Lights — Ambient, Directional, Point, Spot, Hemisphere, Rect Area, plus shadow maps and light probes
Materials — MeshStandard, MeshPhysical (clearcoat, sheen, iridescence, transmission), MeshBasic, MeshLambert, MeshPhong, MeshToon, Shader, Raw, Sprite, Line, Points
Geometry primitives — Box, Sphere, Plane, Cylinder, Cone, Torus, TorusKnot, Tetra/Octa/Icosa/Dodecahedron, Capsule, Lathe, Extrude, Tube
Loaders — glTF/GLB (with KHR_draco_mesh_compression, KHR_mesh_quantization, KHR_texture_basisu, EXT_meshopt_compression), OBJ, FBX, Collada, STL, PLY, 3MF, USDZ
Texture pipeline — KTX2/Basis Universal, HDR/EXR/RGBE, video textures, canvas textures, compressed textures
Animation system — AnimationMixer, AnimationClip, KeyframeTrack, morph target and skeletal animation
Controls addons — OrbitControls, MapControls, TrackballControls, PointerLockControls, TransformControls, ArcballControls, DragControls
Post-processing — EffectComposer with RenderPass, Bloom, SSAO, SSR, SMAA, FXAA, TAA, DOF, Outline, Glitch
XR — WebXR support for VR and AR via `renderer.xr` and XR controllers/hands
Physics integrations — Cannon.js, Ammo.js, Rapier (community)
Browser-based Editor at threejs.org/editor for visual scene authoring and JSON export/import
Three.js JSON Object format — documented serialization via `Object3D.toJSON()` and `ObjectLoader.parse()`
Distributed as `three` on npm, ES modules in `three/build/three.module.js`, addons in `three/addons/*`
TypeScript types via `@types/three` on DefinitelyTyped, mirrored in three-types/three-ts-types
Monthly release cadence — current release r184 (April 2026), 47k+ commits, 113k+ GitHub stars
MIT licensed, no required runtime dependencies, runs in browser, Node.js, Electron, Tauri, Deno, and React Native
Scroll for all 21
JSON-LD contexts and semantic vocabularies used across these APIs.
Spectral governance rulesets for linting and validating these APIs.
Standalone JSON Schema definitions for this provider's data models.
Example request and response payloads for these APIs.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Get Started 2
Portal, sign-up, and the first successful call
Documentation 6
Reference material describing how the API behaves
Build 9
SDKs, sample code, and the tooling you integrate with
Scroll for all 9
Access & Security 1
Authentication, authorization, and security posture
Operate 6
Status, limits, changes, and where to get help
Commercial 1
Pricing, plans, and the legal terms of use
Other 4
Properties that don't map to a standard resource type
Source (apis.yml)
aid: threejs
url: https://raw.githubusercontent.com/api-evangelist/threejs/refs/heads/main/apis.yml
apis:
- aid: threejs:threejs-core
name: Three.js Core
tags:
- 3D
- Graphics
- WebGL
- WebGPU
- JavaScript
- Rendering
humanURL: https://threejs.org/docs/
properties:
- url: https://threejs.org/docs/
type: Documentation
- url: https://threejs.org/manual/
type: Documentation
- url: https://github.com/mrdoob/three.js
type: GitHubRepository
- url: https://www.npmjs.com/package/three
type: Package
- url: json-schema/threejs-vector3-schema.json
type: JSONSchema
- url: json-schema/threejs-object3d-schema.json
type: JSONSchema
- url: json-schema/threejs-scene-schema.json
type: JSONSchema
- url: json-ld/threejs-context.jsonld
type: JSONLD
description: The Three.js core library provides the scene graph, cameras, lights, geometries, materials, textures, loaders,
and animation primitives used to build interactive 3D applications in the browser and on Node.js. The public surface is
a JavaScript API consumed via ES modules and a small CDN-friendly UMD build; classes are organized into Scene, Object3D,
Camera, Geometry, Material, Light, and Texture hierarchies and serialize to a documented JSON scene format produced by
`Object3D.toJSON()`.
- aid: threejs:threejs-renderers
name: Three.js Renderers (WebGL and WebGPU)
tags:
- 3D
- Graphics
- Rendering
- WebGL
- WebGPU
humanURL: https://threejs.org/docs/#api/en/renderers/WebGLRenderer
properties:
- url: https://threejs.org/docs/#api/en/renderers/WebGLRenderer
type: Documentation
- url: https://threejs.org/docs/#api/en/renderers/WebGPURenderer
type: Documentation
- url: https://github.com/mrdoob/three.js/tree/dev/src/renderers
type: SourceCode
description: WebGLRenderer (default, ships in the main bundle) and the newer WebGPURenderer (under `three/webgpu`) draw
the scene graph to a canvas. The Node Material System (TSL — Three.js Shading Language) provides a unified node-based
authoring model that compiles to GLSL for WebGL and WGSL for WebGPU, plus addon SVG and CSS3D renderers for non-raster
output.
- aid: threejs:threejs-loaders
name: Three.js Loaders
tags:
- 3D
- Loaders
- glTF
- OBJ
- FBX
- USDZ
- Assets
humanURL: https://threejs.org/docs/#api/en/loaders/Loader
properties:
- url: https://threejs.org/docs/#api/en/loaders/Loader
type: Documentation
- url: https://github.com/mrdoob/three.js/tree/dev/examples/jsm/loaders
type: SourceCode
- url: examples/threejs-gltf-scene-example.json
type: Examples
description: A family of asset loaders consumed via `three/addons/loaders/*` covering glTF/GLB (recommended), OBJ, FBX,
Collada, STL, PLY, 3MF, USDZ, DRACO, KTX2, Basis, and HDR/EXR environment maps. Loaders read binary or text formats and
produce Three.js scene graph objects ready to add to a `THREE.Scene`.
- aid: threejs:threejs-controls
name: Three.js Controls and Helpers
tags:
- Controls
- Input
- Camera
- Interaction
humanURL: https://threejs.org/docs/#examples/en/controls/OrbitControls
properties:
- url: https://threejs.org/docs/#examples/en/controls/OrbitControls
type: Documentation
- url: https://github.com/mrdoob/three.js/tree/dev/examples/jsm/controls
type: SourceCode
description: Camera and object controls shipped as addons (`three/addons/controls/*`) including OrbitControls, MapControls,
TrackballControls, FirstPersonControls, FlyControls, PointerLockControls, TransformControls, DragControls, and ArcballControls.
Helpers (`three/addons/helpers/*`) visualize lights, cameras, axes, and bounding volumes for debugging.
- aid: threejs:threejs-postprocessing
name: Three.js Post-Processing
tags:
- Post-Processing
- Effects
- Rendering
- Compositing
humanURL: https://threejs.org/docs/#manual/en/introduction/How-to-use-post-processing
properties:
- url: https://threejs.org/docs/#manual/en/introduction/How-to-use-post-processing
type: Documentation
- url: https://github.com/mrdoob/three.js/tree/dev/examples/jsm/postprocessing
type: SourceCode
description: EffectComposer plus a passes library — RenderPass, ShaderPass, UnrealBloomPass, BloomPass, SSAOPass, SSRPass,
SAOPass, OutlinePass, SMAAPass, FXAAPass, TAARenderPass, BokehPass, GlitchPass — for chaining screen-space effects, with
WebGPU equivalents under `three/addons/postprocessing` for the new renderer.
- aid: threejs:threejs-editor
name: Three.js Editor
tags:
- Editor
- Authoring
- Tools
humanURL: https://threejs.org/editor/
properties:
- url: https://threejs.org/editor/
type: Sandbox
- url: https://github.com/mrdoob/three.js/tree/dev/editor
type: SourceCode
description: Browser-based scene editor for assembling Three.js scenes, importing assets, editing materials and lights,
and exporting to the documented Three.js JSON object format. Useful as a no-code starting point that produces files consumable
by `ObjectLoader` in any Three.js application.
name: Three.js
tags:
- 3D
- Graphics
- WebGL
- WebGPU
- JavaScript
- Rendering
- Open-Source
- Game Development
- Visualization
tags_raw:
- 3D
- Graphics
- WebGL
- WebGPU
- JavaScript
- Rendering
- Open Source
- Game Development
- Visualization
kind: opensource
accessModel:
pricing: unknown
onboarding: unknown
trial: false
try_now: false
public: false
label: Unknown
confidence: low
source: []
generated: '2026-07-22'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/threejs.png
access: Open Source
common:
- type: DomainSecurity
url: security/threejs-domain-security.yml
- url: https://threejs.org
type: Portal
- url: https://threejs.org/docs/
type: Documentation
- url: https://threejs.org/manual/
name: Three.js Manual
type: Documentation
- url: https://threejs.org/examples/
name: Three.js Examples
type: CodeExamples
- url: https://threejs.org/editor/
name: Three.js Editor
type: Sandbox
- url: https://github.com/mrdoob/three.js
type: GitHubRepository
- url: https://github.com/mrdoob
type: GitHubOrganization
- url: https://github.com/mrdoob/three.js/releases
name: Three.js Releases
type: ChangeLog
- url: https://github.com/mrdoob/three.js/blob/dev/LICENSE
name: MIT License
type: License
- url: https://github.com/mrdoob/three.js/blob/dev/CONTRIBUTING.md
type: Documentation
- url: https://github.com/mrdoob/three.js/blob/dev/CODE_OF_CONDUCT.md
type: CodeOfConduct
- url: https://github.com/mrdoob/three.js/wiki
type: Documentation
- url: https://github.com/mrdoob/three.js/wiki/Migration-Guide
name: Three.js Migration Guide
type: Documentation
- url: https://github.com/mrdoob/three.js/issues
type: Issues
- url: https://github.com/mrdoob/three.js/pulls
type: PullRequests
- url: https://github.com/mrdoob/three.js/discussions
type: Forums
- url: https://discourse.threejs.org/
name: Three.js Discourse Forum
type: Forums
- url: https://discord.gg/56GBJwAnUS
name: Three.js Discord
type: Forums
- url: https://stackoverflow.com/questions/tagged/three.js
name: Stack Overflow — three.js
type: Support
- url: https://www.npmjs.com/package/three
name: three (npm)
type: Package
- url: https://www.npmjs.com/package/@types/three
name: '@types/three (DefinitelyTyped)'
type: Package
- url: https://github.com/three-types/three-ts-types
name: Three.js TypeScript Types
type: SDKs
- url: https://cdn.jsdelivr.net/npm/three/
name: jsDelivr CDN
type: CDN
- url: https://unpkg.com/three/
name: unpkg CDN
type: CDN
- url: https://github.com/pmndrs/react-three-fiber
name: React Three Fiber
type: Integrations
- url: https://github.com/pmndrs/drei
name: drei (R3F helpers)
type: Integrations
- url: https://github.com/aframevr/aframe
name: A-Frame (built on three.js)
type: Integrations
- url: https://github.com/Tencent/tweenjs
name: Tween.js
type: Integrations
- url: https://github.com/google/model-viewer
name: <model-viewer> (uses three.js)
type: Integrations
- url: https://github.com/threlte/threlte
name: Threlte (Svelte renderer)
type: Integrations
- url: https://github.com/troisjs/trois
name: TroisJS (Vue renderer)
type: Integrations
- url: https://github.com/mrdoob/stats.js
name: stats.js
type: Tools
- url: https://github.com/threejs/three-devtools
name: Three.js DevTools
type: Tools
- url: https://x.com/threejs
type: X
- url: https://github.com/mrdoob/three.js/blob/dev/README.md
type: Documentation
- type: Features
data:
- WebGLRenderer — production WebGL 2 renderer with PBR materials, shadows, instancing, and morph targets
- WebGPURenderer — next-generation WebGPU backend with the Node Material System (TSL) authoring model
- TSL — Three.js Shading Language, a node-based shader graph that compiles to both GLSL and WGSL
- Scene graph based on Object3D with Groups, LOD, Bones, Skinned meshes, InstancedMesh, and BatchedMesh
- Cameras — PerspectiveCamera, OrthographicCamera, ArrayCamera, StereoCamera, CubeCamera
- Lights — Ambient, Directional, Point, Spot, Hemisphere, Rect Area, plus shadow maps and light probes
- Materials — MeshStandard, MeshPhysical (clearcoat, sheen, iridescence, transmission), MeshBasic, MeshLambert, MeshPhong,
MeshToon, Shader, Raw, Sprite, Line, Points
- Geometry primitives — Box, Sphere, Plane, Cylinder, Cone, Torus, TorusKnot, Tetra/Octa/Icosa/Dodecahedron, Capsule, Lathe,
Extrude, Tube
- Loaders — glTF/GLB (with KHR_draco_mesh_compression, KHR_mesh_quantization, KHR_texture_basisu, EXT_meshopt_compression),
OBJ, FBX, Collada, STL, PLY, 3MF, USDZ
- Texture pipeline — KTX2/Basis Universal, HDR/EXR/RGBE, video textures, canvas textures, compressed textures
- Animation system — AnimationMixer, AnimationClip, KeyframeTrack, morph target and skeletal animation
- Controls addons — OrbitControls, MapControls, TrackballControls, PointerLockControls, TransformControls, ArcballControls,
DragControls
- Post-processing — EffectComposer with RenderPass, Bloom, SSAO, SSR, SMAA, FXAA, TAA, DOF, Outline, Glitch
- XR — WebXR support for VR and AR via `renderer.xr` and XR controllers/hands
- Physics integrations — Cannon.js, Ammo.js, Rapier (community)
- Browser-based Editor at threejs.org/editor for visual scene authoring and JSON export/import
- Three.js JSON Object format — documented serialization via `Object3D.toJSON()` and `ObjectLoader.parse()`
- Distributed as `three` on npm, ES modules in `three/build/three.module.js`, addons in `three/addons/*`
- TypeScript types via `@types/three` on DefinitelyTyped, mirrored in three-types/three-ts-types
- Monthly release cadence — current release r184 (April 2026), 47k+ commits, 113k+ GitHub stars
- MIT licensed, no required runtime dependencies, runs in browser, Node.js, Electron, Tauri, Deno, and React Native
sources:
- https://threejs.org/
- https://github.com/mrdoob/three.js
- https://github.com/mrdoob/three.js/blob/dev/README.md
- https://registry.npmjs.org/three/latest
updated: '2026-05-25'
created: '2026-05-25T00:00:00.000Z'
modified: '2026-05-25'
position: Producing
description: Three.js is an open-source JavaScript 3D library originally created by Ricardo Cabello (mrdoob) in 2010 and now
maintained by a broad community of contributors. It abstracts WebGL and WebGPU behind a clean object-oriented API — Scenes,
Cameras, Lights, Geometries, Materials, Textures, Loaders, Controls, Animation, and Post-Processing — to make interactive
3D in the browser practical for games, product configurators, data visualization, generative art, GIS, scientific visualization,
simulations, AR/VR (WebXR), and creative coding. The library ships as the `three` npm package under MIT license with a rich
addon ecosystem (`three/addons/*`) including dozens of loaders for industry asset formats (glTF, OBJ, FBX, USDZ, KTX2, DRACO),
controls, helpers, post-processing passes, and a node-based shading language (TSL) that targets both WebGL and WebGPU. A
browser-based editor at threejs.org/editor produces scenes in a documented JSON object format. Three.js has become the de-facto
foundation for the JavaScript 3D ecosystem and underpins higher-level projects including React Three Fiber, A-Frame, model-viewer,
Threlte, and TroisJS.
maintainers:
- FN: Kin Lane
email: info@apievangelist.com
X: apievangelist
url: https://apievangelist.com
specificationVersion: '0.23'
Every provider here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for providers
9 MCP tools reach this
find_providersBrowse and filter every provider in the catalog.
get_provider_artifactsEvery artifact this provider publishes, grouped by type.
get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
get_provider_ratingPRO — composite, band, trend and facet scores.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools
Call it yourself
curl for this page
This provider
curl "https://apis.io/api/v1/providers/threejs"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/threejs/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/threejs/evidence"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.