# 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 (go-ipfs)

Kubo is the earliest and most widely used implementation of IPFS, written in Go.

Use it as:

# JavaScript (js-ipfs)

WARNING

# js-ipfs being discontinued

Development of the js-ipfs project (opens new window) is being discontinued to focus on Helia (opens new window), a leaner, more modular, modern implementation of IPFS in JavaScript scheduled for release in 2023. To learn more about Helia and the current state of IPFS in JS, see the blog post (opens new window).

Because of this, js-ipfs tutorials may be out of date, and will eventually be archived.

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).