# API & CLI reference
Looking for user and developer references for IPFS? Find them here.
# HTTP Gateway
# Custom APIs
Implementation and language specific interfaces can be used when HTTP Gateway API is not enough, or you need additional flexibility.
# Kubo (go-ipfs)
Kubo is the earliest and most widely used implementation of IPFS, written in Go.
Use it as:
Working in the terminal? Here's where you'll find Kubo's command-line interface (CLI) reference.
HTTP RPC endpoint
RPC API v0 reference for Kubo — control your node over HTTP using the same commands you can from the command line!
See Go API reference for Kubo, including the Go CoreAPI, the Go embedded client, and a Go client for interacting with Kubo over HTTP RPC API.
API resources for js-ipfs, including the JS core API reference and the JS HTTP client library.
Explore the Mutable File System, Regular Files API, and DAG API through ProtoSchool's coding challenges (opens new window).