Skip to content

cointokio/coingecko-api-client

Repository files navigation

CoinGecko API Client for WordPress

A PHP client for fetching data from the CoinGecko API intended to be used in WordPress plugins or themes. Being a good WordPress citizen, this client uses the WordPress core HTTP API to fetch its data.

Installation

This package is available on packagist.org can be added as a dependency to your project via Composer.

composer require cointokio/coingecko-api-client

Use

Include the main class-client.php file and create an instance of the Client class and use its methods to fetch data from the CoinGecko API. Each method represents a separate API endpoint and will either return a list of response data or a WP_Error object. Note that access to the CoinGecko API requires an API key.

require_once '/your/cool/path/to/coingecko-client/class-client.php';

/*
 * There are two ways the Client class can use your coingecko API key:
 *
 * - Pass the API key to the Client class directly like in the example below.
 * - Define a global COINGECKO_API_KEY variable.
 */
$client = new Cointokio\CoinGecko\Client( 'your-api-key' );

/*
 * Use the ping() method to check the CoinGecko API status.
 *
 * @see https://www.coingecko.com/api/documentations/v3#/ping
 */
$response = $client->ping();

The following example uses the $client->coins()->get_markets() method to fetch data from CoinGecko's /coins/markets endpoint. Note that access to the CoinGecko API requires an API key.

require_once '/your/cool/path/to/coingecko-client/class-client.php';

$client  = new Cointokio\CoinGecko\Client( 'your-api-key' );

/*
 * Get a list of price, market cap, volume and market-related data.
 *
 * @see https://www.coingecko.com/api/documentations/v3#/coins/get_coins_markets
 *
 * Note that the $client->coins() method returns an instance of the
 * \Cointokio\CoinGecko\Coins class. This allows us to use the Coins class methods
 * more easily via method chaining, eg.:
 *
 * $client->coins()->get_list()
 * $client->coins()->get_markets()
 *
 * @see https://github.com/cointokio/coingecko-api-client/blob/main/class-client.php#L41
 * @see https://github.com/cointokio/coingecko-api-client/blob/main/classes/class-coins.php
 * @see https://en.wikipedia.org/wiki/Method_chaining
 */
$response = $client->coins()->get_markets(
	'eur',
	array( 'ids' => 'btc, eth' )
);

Coding Standards

This project aims to adhere to the VIP Coding Standards.

About

Fetch data from the CoinGecko API, intended for use in WordPress plugins or themes.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages