NAV Navbar
shell javascript python java swift php ruby json-doc
  • Introduction
  • Features
  • Installation
  • Authentication
  • 1. News
  • 2. Reddit Posts
  • 3. Tweets
  • 4. Feed
  • 5. Coin Details
  • Hall of Fame
  • Introduction

    Welcome to the CryptoControl API! You can use our API to access crypto news.

    We built our APIs so that people can focus on building great products and not worry about maintaining a news engine on their own.

    We have SDKs in Shell, Python, PHP, Node.js, Bower, Swift (iOS) and Java. If there's a language we've missed, please feel free to let us know at [email protected].

    Read our blog post explaining more about why we released the APIs.

    All API calls are logged. API calls were previously rate-limited, but not anymore.

    Features

    Here's a couple of features that the CryptoControl API provides.

    Installation

    You can use the CryptoControl API via multiple SDKs.

    Can't find your favourite language? Let us know and we'll do our best to create an SDK for you right away.

    Authentication

    To authorize, use this code:

    # With shell, you can just pass the correct header with each request
    curl "https://cryptocontrol.io/api/v1/public" \
      -H "x-api-key: API_KEY_HERE"
    
    
    # Or if you can't set the header, you can pass the key in the URL instead
    curl "https://cryptocontrol.io/api/v1/public?key=API_KEY_HERE"
    
    import CryptoNewsApi from 'crypto-news-api'
    
    const Api = new CryptoNewsApi('API_KEY_HERE')
    
    from crypto_news_api import CryptoControlAPI
    
    api = CryptoControlAPI("API_KEY_HERE")
    
    import io.cryptocontrol.cryptonewsapi;
    
    CryptoControlApi api = new CryptoControlApi("API_KEY");
    
    import CryptoNewsApi
    
    let api = CryptoControlApi(apiKey: "API_KEY_HERE")
    
    <?php
    
    $api = new CryptoControl\CryptoNewsApi("API_KEY_HERE");
    
    require "crypto-news-api"
    
    api = CryptoControl::QueryAPI.new("API_KEY_HERE")
    

    Make sure to replace API_KEY_HERE with your API key.

    CryptoControl uses API keys to allow access to our API. You can register for a CryptoControl API here.

    CryptoControl expects for the API key to be included in all API requests to the server in a header that looks like the following:

    Header: x-api-key: API_KEY_HERE

    or be passed as query parameter via the key field.

    https://cryptocontrol.io/api/v1/public?key=API_KEY_HERE

    1. News

    Get Articles

    # Get Top Articles
    curl "https://cryptocontrol.io/api/v1/public/news" \
      -H "x-api-key: API_KEY_HERE"
    
    # Or this is the same as
    curl "https://cryptocontrol.io/api/v1/public/news?language=en" \
      -H "x-api-key: API_KEY_HERE"
    
    # Get Top Russian Articles
    curl "https://cryptocontrol.io/api/v1/public/news?language=ru" \
      -H "x-api-key: API_KEY_HERE"
    
    # Get Latest Articles
    curl "https://cryptocontrol.io/api/v1/public/news?latest=true" \
      -H "x-api-key: API_KEY_HERE"
    
    // Get top articles
    Api.getTopNews()
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // or same as
    Api.getTopNews("en")
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // Get top russian articles
    Api.getTopNews("ru")
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // Get latest articles
    Api.getLatestNews()
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    # Get top news
    topNews = api.getTopNews
    
    # or this is same as
    topNews = api.getTopNews "en"
    
    # Get top russian news
    topNews = api.getTopNews "ru"
    
    # Get latest news
    latestNews = api.getLatestNews
    
    # Get top news
    topNews = api.getTopNews()
    
    # or this is same as
    topNews = api.getTopNews("en")
    
    # Get top russian news
    topNews = api.getTopNews("ru")
    
    # Get latest news
    latestNews = api.getLatestNews()
    
    // Top News
    api.getTopNews(new CryptoControlApi.OnResponseHandler<List<Article>>() {
        public void onSuccess(List<Article> body) {
            for (Article article : body) {
                System.out.println(article.getTitle());
            }
        }
    
    
        public void onFailure(Exception e) {
            e.printStackTrace();
        }
    });
    
    
    // Or this is same as
    api.getTopNews(Languages.ENGLISH, new CryptoControlApi.OnResponseHandler<List<Article>>() {
      ...
    });
    
    
    // Get top Russian News
    api.getTopNews(Languages.RUSSIAN, new CryptoControlApi.OnResponseHandler<List<Article>>() {
      ...
    });
    
    
    // Latest News
    api.getLatestNews(new CryptoControlApi.OnResponseHandler<List<Article>>() {
      ...
    });
    
    // Top News
    api.getTopNews { (error, articles) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(articles?.count)
    }
    
    // Latest news
    api.getLatestNews { (error, articles) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(articles?.count)
    }
    
    <?php
    // Top news
    $topNews = $api->getTopNews();
    
    // Latest news
    $latestNews = $api->getLatestNews();
    
    // Sample response from the server
    // GET /api/v1/public/news
    [
        {
            "_id": "5b583462c4be0b000fce9263",
            "hotness": 70954.00327655903,
            "activityHotness": 4.601980262729618,
            "primaryCategory": "Mining",
            "words": 461,
            "similarArticles": [
                {
                    "_id": "5b57b7fb38c5f4000f72b680",
                    "sourceDomain": "bcfocus.com",
                    "item": "https://cryptocontrol.io/r/api/article/5b57b7fb38c5f4000f72b680",
                    "thumbnail": "https://cryptocontrol.io/r/thumbnail/5b582ea4c4be0b000fce673f"
                }
                ...
            ],
            "coins": [
                {
                    "_id": "59cb59e81c073f09e76f614b",
                    "name": "Bitcoin",
                    "slug": "bitcoin",
                    "tradingSymbol": "btc"
                },
                ...
            ],
            "description": "Professional services giant PricewaterhouseCoopers Switzerland will conduct an external audit of the Tezos Foundation, which is the first time when a blockchain organization is accepted as an audit client by a Big Four firm.",
            "publishedAt": "2018-07-25T08:24:28.000Z",
            "title": "PwC Switzerland to Audit and Examine Tezos' Finances and Operations – CoinSpeaker",
            "url": "https://cryptocontrol.io/r/api/article/5b583462c4be0b000fce9263",
            "source": {
                "_id": "5b4b5794c831fd000f6b5152",
                "name": "CoinSpeaker",
                "url": "https://www.coinspeaker.com/"
            },
            "sourceDomain": "coinspeaker.com",
            "thumbnail": "https://cryptocontrol.io/r/thumbnail/5b582ea4c4be0b000fce673f",
            "originalImageUrl": null
        },
        ...
    ]
    

    Get the top news articles. Top articles are sorted by hotness, which is number that takes into many different various variables to determine the popularity of an articles.

    HTTP Request

    GET /api/v1/public/news

    URL Parameters

    Parameter Description
    latest A boolean value which returns the latest articles instead. Otherwise the top articles are returned.
    language The language of the articles (values: en, ru) (default: en)

    Get Articles by Category

    # Get top articles by category
    curl "https://cryptocontrol.io/api/v1/public/news/category" \
      -H "x-api-key: API_KEY_HERE"
    
    // Get top articles by category
    Api.getTopNewsByCategory()
      .then(categories => console.log(categories))
      .catch(error => console.error(error))
    
    
    # Get top news by category
    topNewsByCategory = api.getTopNewsByCategory
    
    # Get top news by category
    topNewsByCategory = api.getTopNewsByCategory()
    
    // Top News by category
    api.getTopNewsByCategory(new CryptoControlApi.OnResponseHandler<CategoryResponse>() {
        public void onSuccess(CategoryResponse body) {
            for (Article article : body.getAnalysisArticles()) {
                System.out.println(article.getTitle());
            }
        }
    
    
        public void onFailure(Exception e) {
            e.printStackTrace();
        }
    });
    
    // Top News by category
    api.getTopNewsByCategory { (error, categories) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(categories?.analysis.count)
    }
    
    <?php
    // Top news by category
    $topNewsByCategory = $api->getTopNewsByCategory();
    
    // Sample response from the server
    // GET /api/v1/public/news/category
    {
        "analysis": [
            {
                "_id": "5b5816f27ff3bc000f8dbe77",
                "hotness": 70953.50605170094,
                "activityHotness": 4.603922071315328,
                "primaryCategory": "Analysis",
                "words": 328,
                "similarArticles": [
                    {
                        "_id": "5b56d0f828d078000fb4f2fb",
                        "sourceDomain": "newsbtc.com",
                        "item": "https://cryptocontrol.io/r/api/article/5b56d0f828d078000fb4f2fb",
                        "thumbnail": null
                    },
                    ...
                ],
                "coins": [
                    {
                        "_id": "59d21e9b83a0523906a45db0",
                        "name": "Litecoin",
                        "slug": "litecoin",
                        "tradingSymbol": "ltc"
                    },
                    ...
                ],
                "description": "Litecoin price finally broke the $85.00 resistance and moved higher against the US Dollar. LTC/USD is correcting lower, but dips remain supported near $87.00 and $85.00.",
                "publishedAt": "2018-07-25T05:24:46.000Z",
                "title": "Litecoin Price Analysis: LTC/USD is Back in Bullish Zone - Ethereum World News",
                "url": "https://cryptocontrol.io/r/api/article/5b5816f27ff3bc000f8dbe77",
                "source": {
                    "_id": "5b4b58a7c831fd000f6c0c72",
                    "name": "Ethereum World News",
                    "url": "https://ethereumworldnews.com/"
                },
                "thumbnail": "https://cryptocontrol.io/r/thumbnail/5b5816f27ff3bc000f8dbe77",
                "sourceDomain": "ethereumworldnews.com",
                "originalImageUrl": "https://ethereumworldnews.com/wp-content/uploads/2018/07/Litecoin_Price_Chart-17.png"
            },
            ...
        ],
        "blockchain": [...],
        "exchanges": [...],
        "general": [...],
        "government": [...],
        "ico": [...],
        "mining": [...]
    }
    

    Get the top news articles by category. There are 6 categories; Analysis, Blockchain, Exchanges, Government, Mining & ICOs. The rest everything goes into the General category.

    For other languages (other than english), currently all articles get classified as 'general'.

    HTTP Request

    GET /api/v1/public/news/category

    Get Coin Articles

    # Get Top Articles for bitcoin
    curl "https://cryptocontrol.io/api/v1/public/news/coin/bitcoin" \
      -H "x-api-key: API_KEY_HERE"
    
    # or this is the same as
    curl "https://cryptocontrol.io/api/v1/public/news/coin/bitcoin?language=en" \
      -H "x-api-key: API_KEY_HERE"
    
    # Get top russian articles for bitcoin
    curl "https://cryptocontrol.io/api/v1/public/news/coin/bitcoin?language=ru" \
      -H "x-api-key: API_KEY_HERE"
    
    # Get Latest Articles for ripple
    curl "https://cryptocontrol.io/api/v1/public/news/coin/ripple?latest=true" \
      -H "x-api-key: API_KEY_HERE"
    
    // Get top articles for bitcoin
    Api.getTopNewsByCoin('bitcoin')
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // or this is the same as
    Api.getTopNewsByCoin('bitcoin', 'en')
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // Get top russian articles for bitcoin
    Api.getTopNewsByCoin('bitcoin', 'ru')
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // Get latest articles for ripple
    Api.getLatestNewsByCoin('ripple')
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    # Get top news for bitcoin
    topNews = api.getTopNewsByCoin('bitcoin')
    
    # or this is the same as
    topNews = api.getTopNewsByCoin('bitcoin', 'en')
    
    # Get top russian news for bitcoin
    topNews = api.getTopNewsByCoin('bitcoin', 'ru')
    
    # Get latest news for ripple
    latestNews = api.getLatestNewsByCoin('ripple')
    
    # Get top news for bitcoin
    topNews = api.getTopNewsByCoin 'bitcoin'
    
    # or this is the same as
    topNews = api.getTopNewsByCoin 'bitcoin', 'en'
    
    # Get top russian news for bitcoin
    topNews = api.getTopNewsByCoin 'bitcoin', 'ru'
    
    # Get latest news for ripple
    latestNews = api.getLatestNewsByCoin 'ripple'
    
    // Top News for bitcoin
    api.getTopNewsByCoin("bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
        public void onSuccess(List<Article> body) {
            for (Article article : body) {
                System.out.println(article.getTitle());
            }
        }
    
    
        public void onFailure(Exception e) {
            e.printStackTrace();
        }
    });
    
    // Or this is the same as
    api.getTopNewsByCoin(Languages.ENGLISH, "bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
        ...
    })
    
    // Get top Russian news for Bitcoin
    api.getTopNewsByCoin(Languages.RUSSIAN, "bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
        ...
    })
    
    // Latest News for ripple
    api.getLatestNewsByCoin("ripple", new CryptoControlApi.OnResponseHandler<List<Article>>() {
        ...
    });
    
    // Top News for bitcoin
    api.getTopNewsByCoin(coin: "bitcoin") { (error, articles) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(articles?.count)
    }
    
    // mutlilingual support will be coming soon
    
    // Latest news for eos
    api.getLatestNewsByCoin(coin: "eos") { (error, articles) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(articles?.count)
    }
    
    <?php
    // Top news for bitcoin
    $topNews = $api->getTopNewsByCoin("bitcoin");
    
    // or this is same as
    $topEnNews = $api->getTopNewsByCoin("bitcoin", "en");
    
    // Top russian news for eos
    $topRuNews = $api->getTopNewsByCoin("eos", "ru");
    
    // Latest news for ripple
    $latestNews = $api->getLatestNewsByCoin("ripple");
    
    // Sample response from the server
    // GET /api/v1/public/news/coin/bitcoin
    [
        {
            "_id": "5b583462c4be0b000fce9263",
            "hotness": 70954.00327655903,
            "activityHotness": 4.601980262729618,
            "primaryCategory": "Mining",
            "words": 461,
            "similarArticles": [
                {
                    "_id": "5b57b7fb38c5f4000f72b680",
                    "sourceDomain": "bcfocus.com",
                    "item": "https://cryptocontrol.io/r/api/article/5b57b7fb38c5f4000f72b680",
                    "thumbnail": "https://cryptocontrol.io/r/thumbnail/5b582ea4c4be0b000fce673f"
                }
                ...
            ],
            "coins": [
                {
                    "_id": "59cb59e81c073f09e76f614b",
                    "name": "Bitcoin",
                    "slug": "bitcoin",
                    "tradingSymbol": "btc"
                },
                ...
            ],
            "description": "Professional services giant PricewaterhouseCoopers Switzerland will conduct an external audit of the Tezos Foundation, which is the first time when a blockchain organization is accepted as an audit client by a Big Four firm.",
            "publishedAt": "2018-07-25T08:24:28.000Z",
            "title": "PwC Switzerland to Audit and Examine Tezos' Finances and Operations – CoinSpeaker",
            "url": "https://cryptocontrol.io/r/api/article/5b583462c4be0b000fce9263",
            "source": {
                "_id": "5b4b5794c831fd000f6b5152",
                "name": "CoinSpeaker",
                "url": "https://www.coinspeaker.com/"
            },
            "sourceDomain": "coinspeaker.com",
            "thumbnail": "https://cryptocontrol.io/r/thumbnail/5b582ea4c4be0b000fce673f",
            "originalImageUrl": null
        },
        ...
    ]
    

    Get the top/latest news articles for a particular coin.

    HTTP Request

    GET /api/v1/public/news/coin/:coin

    URL Parameters

    Parameter Description
    latest A boolean value which returns the latest articles instead. Otherwise the top articles are returned.
    language The language of the articles (values: en, ru) (default: en)

    Get Coin Articles by Category

    # Get top articles by category
    curl "https://cryptocontrol.io/api/v1/public/news/coin/bitcoin/category" \
      -H "x-api-key: API_KEY_HERE"
    
    // Get top bitcoin articles by category
    Api.getTopNewsByCoinCategory("bitcoin")
      .then(categories => console.log(categories))
      .catch(error => console.error(error))
    
    
    # Get top news for bitcoin by category
    topNewsByCategory = api.getTopNewsByCoinCategory("bitcoin")
    
    # Get top news for bitcoin by category
    topNewsByCategory = api.getTopNewsByCoinCategory "bitcoin"
    
    // Top news for bitcoin by category
    api.getTopNewsByCoinCategory("bitcoin", new CryptoControlApi.OnResponseHandler<CategoryResponse>() {
        public void onSuccess(CategoryResponse body) {
            for (Article article : body.getAnalysisArticles()) {
                System.out.println(article.getTitle());
            }
        }
    
    
        public void onFailure(Exception e) {
            e.printStackTrace();
        }
    });
    
    
    // Top News for bitcoin by category
    api.getTopNewsByCoinCategory(coin: "bitcoin") { (error, categories) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(categories?.analysis.count)
    }
    
    <?php
    // Top news for bitcoin by category
    $topNewsByCategory = $api->getTopNewsByCoinCategory("bitcoin");
    
    // Sample response from the server
    // GET /api/v1/public/news/coin/litecoin/category
    {
        "analysis": [
            {
                "_id": "5b5816f27ff3bc000f8dbe77",
                "hotness": 70953.50605170094,
                "activityHotness": 4.603922071315328,
                "primaryCategory": "Analysis",
                "words": 328,
                "similarArticles": [
                    {
                        "_id": "5b56d0f828d078000fb4f2fb",
                        "sourceDomain": "newsbtc.com",
                        "item": "https://cryptocontrol.io/r/api/article/5b56d0f828d078000fb4f2fb",
                        "thumbnail": null
                    },
                    ...
                ],
                "coins": [
                    {
                        "_id": "59d21e9b83a0523906a45db0",
                        "name": "Litecoin",
                        "slug": "litecoin",
                        "tradingSymbol": "ltc"
                    },
                    ...
                ],
                "description": "Litecoin price finally broke the $85.00 resistance and moved higher against the US Dollar. LTC/USD is correcting lower, but dips remain supported near $87.00 and $85.00.",
                "publishedAt": "2018-07-25T05:24:46.000Z",
                "title": "Litecoin Price Analysis: LTC/USD is Back in Bullish Zone - Ethereum World News",
                "url": "https://cryptocontrol.io/r/api/article/5b5816f27ff3bc000f8dbe77",
                "source": {
                    "_id": "5b4b58a7c831fd000f6c0c72",
                    "name": "Ethereum World News",
                    "url": "https://ethereumworldnews.com/"
                },
                "thumbnail": "https://cryptocontrol.io/r/thumbnail/5b5816f27ff3bc000f8dbe77",
                "sourceDomain": "ethereumworldnews.com",
                "originalImageUrl": "https://ethereumworldnews.com/wp-content/uploads/2018/07/Litecoin_Price_Chart-17.png"
            },
            ...
        ],
        "blockchain": [...],
        "exchanges": [...],
        "general": [...],
        "government": [...],
        "ico": [...],
        "mining": [...]
    }
    

    Get the top news articles for a particular coin by category. There are 6 categories; Analysis, Blockchain, Exchanges, Government, Mining & ICOs. The rest everything goes into the General category.

    For other languages (other than english), currently all articles get classified as 'general'.

    HTTP Request

    GET /api/v1/public/news/coin/:coin/category

    2. Reddit Posts

    Get Reddit Posts for a coin

    # Get Top Reddit posts for Bitcoin
    curl "https://cryptocontrol.io/api/v1/public/reddit/coin/bitcoin" \
      -H "x-api-key: API_KEY_HERE"
    
    # Get Latest Reddit posts for Ripple
    curl "https://cryptocontrol.io/api/v1/public/reddit/coin/ripple?latest=true" \
      -H "x-api-key: API_KEY_HERE"
    
    // Get Top Reddit posts for Bitcoin
    Api.getTopRedditPostsByCoin("bitcoin")
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // Get Latest Reddit posts for Ripple
    Api.getLatestRedditPostsByCoin("ripple")
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    # Get top reddit posts for bitcoin
    topRedditPosts = api.getTopRedditPostsByCoin "bitcoin"
    
    # Get latest reddit posts for bitcoin
    latestRedditPosts = api.getLatestRedditPostsByCoin "bitcoin"
    
    # Get top reddit posts for bitcoin
    topRedditPosts = api.getTopRedditPostsByCoin("bitcoin")
    
    # Get latest reddit posts for bitcoin
    latestRedditPosts = api.getLatestRedditPostsByCoin("bitcoin")
    
    // Get top reddit posts for bitcoin
    api.getTopRedditPostsByCoin("bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
        public void onSuccess(List<Article> body) {
            for (Article article : body) {
                System.out.println(article.getTitle());
            }
        }
    
    
        public void onFailure(Exception e) {
            e.printStackTrace();
        }
    });
    
    // Get latest reddit posts for bitcoin
    api.getLatestRedditPostsByCoin("bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
      ...
    });
    
    // Get top reddit posts for bitcoin
    api.getTopRedditPostsByCoin(coin: "bitcoin") { (error, articles) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(articles?.count)
    }
    
    // Get latest reddit posts for bitcoin
    api.getLatestRedditPostsByCoin(coin: "bitcoin") { (error, articles) in
      ...
    }
    
    <?php
    
    $api = new CryptoControl\CryptoNewsApi("API_KEY_HERE");
    
    // Get top reddit posts for bitcoin
    $topRedditPosts = $api->getTopRedditPostsByCoin("bitcoin");
    
    // Get latest reddit posts for bitcoin
    $latestRedditPosts = $api->getLatestRedditPostsByCoin("bitcoin");
    

    Get the reddit posts for a given coin. CryptoControl keeps track of multiple subreddits for the top 2000 coins on Coinmarketcap.

    HTTP Request

    GET /api/v1/public/reddit/coin/:coin

    URL Parameters

    Parameter Description
    latest A boolean value which returns the latest reddit posts instead. Otherwise the top reddit posts are returned.

    3. Tweets

    Get Tweets for a coin

    # Get Top Tweets for Bitcoin
    curl "https://cryptocontrol.io/api/v1/public/tweets/coin/bitcoin" \
      -H "x-api-key: API_KEY_HERE"
    
    # Get Latest Tweets for Ripple
    curl "https://cryptocontrol.io/api/v1/public/tweets/coin/ripple?latest=true" \
      -H "x-api-key: API_KEY_HERE"
    
    // Get top tweets for Bitcoin
    Api.getTopTweetsByCoin("bitcoin")
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // Get latest tweets for Ripple
    Api.getLatestTweetsByCoin("ripple")
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    # Get top tweets for bitcoin
    topTweets = api.getTopTweetsByCoin("bitcoin")
    
    # Get latest tweets for bitcoin
    latestTweets = api.getLatestTweetsByCoin("bitcoin")
    
    # Get top tweets for bitcoin
    topTweets = api.getTopTweetsByCoin "bitcoin"
    
    # Get latest tweets for bitcoin
    latestTweets = api.getLatestTweetsByCoin "bitcoin"
    
    // Get top tweets for bitcoin
    api.getTopTweetsByCoin("bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
        public void onSuccess(List<Article> body) {
            for (Article article : body) {
                System.out.println(article.getTitle());
            }
        }
    
    
        public void onFailure(Exception e) {
            e.printStackTrace();
        }
    });
    
    // Get latest tweets for bitcoin
    api.getLatestTweetsByCoin("bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
        ...
    });
    
    import CryptoNewsApi
    
    let api = CryptoControlApi(apiKey: "API_KEY_HERE")
    
    // Get top tweets for bitcoin
    api.getTopTweetsByCoin(coin: "bitcoin") { (error, articles) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(articles?.count)
    }
    
    // Get latest tweets for bitcoin
    api.getLatestTweetsByCoin(coin: "bitcoin") { (error, articles) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(articles?.count)
    }
    
    <?php
    // Get top tweets for bitcoin
    $topTweets = $api->getTopTweetsByCoin("bitcoin");
    
    // Get latest tweets for bitcoin
    $latestTweets = $api->getLatestTweetsByCoin("bitcoin");
    

    Get the tweets for a given coin. CryptoControl keeps track of multiple twitter accounts for the top 2000 coins on Coinmarketcap.

    HTTP Request

    GET /api/v1/public/tweets/coin/:coin

    URL Parameters

    Parameter Description
    latest A boolean value which returns the latest tweets instead. Otherwise the top tweets are returned.

    4. Feed

    Get feed for a coin

    # Get top feed  for Bitcoin
    curl "https://cryptocontrol.io/api/v1/public/feed/coin/bitcoin" \
      -H "x-api-key: API_KEY_HERE"
    
    # Get latest feed for Ripple
    curl "https://cryptocontrol.io/api/v1/public/feed/coin/ripple?latest=true" \
      -H "x-api-key: API_KEY_HERE"
    
    // Get top feed for Bitcoin
    Api.getTopFeedByCoin("bitcoin")
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    // Get latest feed for Ripple
    Api.getLatestFeedByCoin("ripple")
      .then(articles => console.log(articles))
      .catch(error => console.error(error))
    
    # Get top feed posts for bitcoin
    topFeed = api.getTopFeedByCoin "bitcoin"
    
    # Get latest feed for bitcoin
    latestFeed = api.getLatestFeedByCoin "bitcoin"
    
    # Get top feed posts for bitcoin
    topFeed = api.getTopFeedByCoin("bitcoin")
    
    # Get latest feed for bitcoin
    latestFeed = api.getLatestFeedByCoin("bitcoin")
    
    // Get top feed posts for bitcoin
    api.getTopFeedByCoin("bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
        public void onSuccess(List<Article> body) {
            for (Article article : body) {
                System.out.println(article.getTitle());
            }
        }
    
    
        public void onFailure(Exception e) {
            e.printStackTrace();
        }
    });
    
    // Get latest feed for bitcoin
    api.getLatestFeedByCoin("bitcoin", new CryptoControlApi.OnResponseHandler<List<Article>>() {
      ...
    });
    
    // Get top feed posts for bitcoin
    api.getTopFeedByCoin(coin: "bitcoin") { (error, articles) in
        if (error == CCErrors.invalidAPIKey) {
            print("invalid api key")
        }
    
        print(articles?.count)
    }
    
    // Get latest feed for bitcoin
    api.getLatestFeedByCoin(coin: "bitcoin") { (error, articles) in
      ...
    }
    
    <?php
    
    $api = new CryptoControl\CryptoNewsApi("API_KEY_HERE");
    
    // Get top feed  for bitcoin
    $topFeed = $api->getTopFeedByCoin("bitcoin");
    
    // Get latest feed for bitcoin
    $latestFeed = $api->getLatestFeedByCoin("bitcoin");
    
    [
        {
            "type": "article",
            "article": {
                "description": "The cryptocurrency website Bitcoin.com is taking an aggressive stance against any exchange not supporting BCH (Bitcoin Cash) by listing the tokens on them. Bitcoin Cash has been changing the way th…",
                "publishedAt": "2018-07-25T09:50:51.000Z",
                "title": "Bitcoin Cash Favored Bitcoin.com Is Booting Exchanges Not Endorsing BCH Tokens",
                "url": "https://cryptocontrol.io/r/api/article/5b58485b1393c4000f0060de",
                ...
            }
        },
        {
            "type": "tweet",
            "tweet": {
                "text": "Join me in 3 hours for a live stream with @crypt0snews to discuss #BitcoinCash and everything else related to bring… https://t.co/7xLPcXek1R",
                "username": "rogerkver",
                ...
            }
        },
        {
            "type": "reddit",
            "reddit": {
                "title": "Today I found out about a bitco.in post containing evidence that completely vindicates CSW in the \"academic plagiarism\" controversy. Important to note how this post is totally ignored by the army of trolls that keep pushing the academic fraud narrative.",
                "subreddit": "btc",
                ...
            }
        }
    ]
    

    A feed is a single array of all tweets, reddit posts and articles for a given coin. This is useful for apps that want to show a single newsfeed to it's users.

    HTTP Request

    GET /api/v1/public/feed/coin/:coin

    URL Parameters

    Parameter Description
    latest A boolean value which returns the latest feed instead. Otherwise the top feed posts are returned.

    5. Coin Details

    Get details for a coin

    # Get details for Bitcoin
    curl "https://cryptocontrol.io/api/v1/public/details/coin/bitcoin" \
      -H "x-api-key: API_KEY_HERE"
    
    // Get details for bitcoin
    Api.getCoinDetails("bitcoin")
      .then(details => console.log(details))
      .catch(error => console.error(error))
    
    # Get details for bitcoin
    details = api.getCoinDetails "bitcoin"
    
    # Get details for bitcoin
    details = api.getCoinDetails("bitcoin")
    
    // Get details for bitcoin
    api.getCoinDetails("ethereum", new CryptoControlApi.OnResponseHandler<CoinDetail>() {
        @Override public void onSuccess(CoinDetail body) {
            System.out.println(body.getDescription());
        }
    
    
        @Override public void onFailure(Exception e) {
            e.printStackTrace();
        }
    });
    
    // Coming soon
    
    <?php
    // Get details for bitcoin
    $details = $api->getCoinDetails("bitcoin");
    
    {
        "description": "Bitcoin is an innovative payment network and a new kind of money. Find all you need to know and get started with Bitcoin on bitcoin.org.",
        "gitrepos": [],
        "links": [
            {
                "_id": "5b41d21fa8a741cf4187ec60",
                "type": "reddit",
                "name": "r/Bitcoin Reddit",
                "link": "https://reddit.com/r/Bitcoin/"
            },
            {
                "_id": "5b41d21fa8a741cf4187ec5f",
                "type": "reddit",
                "name": "r/BitcoinMarkets Reddit",
                "link": "https://www.reddit.com/r/BitcoinMarkets/"
            },
            {
                "_id": "5b41d21fa8a741cf4187ec5e",
                "type": "twitter",
                "name": "Bitcoin Twitter",
                "link": "https://twitter.com/bitcoin"
            }
        ],
        "subreddits": [
            "Bitcoin",
            "BitcoinMarkets"
        ],
        "twitterUsernames": [
            "bitcoin"
        ]
    }
    

    Gets details about a given coin. Coin details give a lot of information about a coin including coin subreddits, twitter handlers and extra links (blockexplorer, whitepaper, wallets) etc.

    HTTP Request

    GET /api/v1/public/details/coin/:coin

    Hall of Fame

    To showcase some of the awesome stuff that we hope people will be building with our APIs, we’re introducing the "CryptoControl Hall of fame" where we’ll be showcasing all the cool products that use the CryptoControl API.

    Hall of famers will get special attention on the CryptoControl website and will also get a backlink from CryptoControl.

    If you’d like to get recognised in our wall of fame, all you have to do is create something useful with the CryptoControl API and let us know about it ([email protected]).