# API & CLI reference
Looking for user and developer references for IPFS? Find them here.
# HTTP Gateway
The Gateway API provides implementation-agnostic HTTP interface for retrieving content-addressed data from IPFS with regular HTTP clients and libraries. Use it for future-proofing your applications.
# Custom APIs
Implementation and language specific interfaces can be used when HTTP Gateway API is not enough, or you need additional flexibility.
# Kubo
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.
# Helia
Helia is the next generation IPFS JavaScript implementation that applies lessons learned from js-ipfs (opens new window) to create a more modern, modular, and efficient codebase.
Learn more about Helia in the official GitHub repository (opens new window). If you'd like to quickly get started developing with Helia, see the Helia examples repository (opens new window).
WARNING
# js-ipfs project discontinued
Development of the js-ipfs project (opens new window) has been discontinued in favor of Helia (opens new window).
Because of this, js-ipfs content may be out of date, and will eventually be archived.