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

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