# 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 is the earliest and most widely used implementation of IPFS, written in Go.
Use it as:
CLI tool 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!
Go library 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.