Client to get a crypto newsfeed in your app from the CryptoControl API
Project description
CryptoControl - Python Crypto News API
Official Python client for the CryptoControl.io API. The CryptoControl python client lets developers access rich formatted articles from cryptonews sources from all around the world.
Installation
pip install crypto-news-api
Usage
First make sure that you've recieved an API key by visiting https://cryptocontrol.io/apis. With the API key you can write the following code.
from crypto_news_api import CryptoControlAPI # Connect to the CryptoControl API api = CryptoControlAPI("API_KEY_HERE") # Connect to a self-hosted proxy server (to improve performance) that points to cryptocontrol.io proxyApi = CryptoControlAPI("API_KEY_HERE", "http://cryptocontrol_proxy/api/v1/public") api.enableSentiment() # Get top news print(api.getTopNews()) # get latest russian news print(api.getLatestNews("ru")) # get top bitcoin news print(api.getTopNewsByCoin("bitcoin")) # get top EOS tweets print(api.getTopTweetsByCoin("eos")) # get top Ripple reddit posts print(api.getLatestRedditPostsByCoin("ripple")) # get reddit/tweets/articles in a single combined feed for NEO print(api.getTopFeedByCoin("neo")) # get latest reddit/tweets/articles (seperated) for Litecoin print(api.getLatestItemsByCoin("litecoin")) # get details (subreddits, twitter handles, description, links) for ethereum print(api.getCoinDetails("ethereum"))
Available Functions
- getTopNews(lang?: enum) Get the top news articles.
- getLatestNews(lang?: enum) Get the latest news articles.
- getTopNewsByCategory(lang?: enum) Get news articles grouped by category.
- getTopNewsByCoin(coin: String, lang?: enum) Get the top news articles for a specific coin from the CryptoControl API.
- getLatestNewsByCoin(coin: String, lang?: enum) Get the latest news articles for a specific coin.
- getTopNewsByCoinCategory(coin: String, lang?: enum) Get news articles grouped by category for a specific coin.
- getTopRedditPostsByCoin(coin: String, lang?: enum) Get top reddit posts for a particular coin
- getLatestRedditPostsByCoin(coin: String, lang?: enum) Get latest reddit posts for a particular coin
- getTopTweetsByCoin(coin: String, lang?: enum) Get top tweets for a particular coin
- getLatestTweetsByCoin(coin: String, lang?: enum) Get latest tweets for a particular coin
- getTopFeedByCoin(coin: String, lang?: enum) Get a combined feed (reddit/tweets/articles) for a particular coin (sorted by time)
- getLatestFeedByCoin(coin: String, lang?: enum) Get a combined feed (reddit/tweets/articles) for a particular coin (sorted by relevance)
- getTopItemsByCoin(coin: String, lang?: enum) Get reddit/tweets/articles (seperated) for a particular coin (sorted by time)
- getLatestItemsByCoin(coin: String, lang?: enum) Get reddit/tweets/articles (seperated) for a particular coin (sorted by relevance)
- getCoinDetails(coin: String) Get all details about a particular coin (links, description, subreddits, twitter etc..)
lang
allows developers to choose which language they'd like to get the feed. Currently CryptoControl supports English (en
) and Russian (ru
) article feeds.
The coin slugs are the coin id's used from the CoinMarketCap api. You can see the full list of coins here: https://api.coinmarketcap.com/v1/ticker/?limit=2000
Sample response from the server
[{ "hotness": 70862.60323026273, "activityHotness": 4.601980262729618, "primaryCategory": "General", "words": 1444, "similarArticles": [ { "_id": "5b363b525b113200191a1d5f", "publishedAt": "2018-06-29T13:42:44.000Z", "title": "Op-Ed: Challenge of Mining Centralization Unveils Bitcoin’s Elegant Design", "url": "https://cryptocontrol.io/r/api/article/5b363b525b113200191a1d5f?ref=5ac11440ec0af7be35528459", "source": { "_id": "59d8c361ef8bf95cc2bfb66f", "name": "Bitcoin Magazine", "url": "https://bitcoinmagazine.com/" }, "sourceDomain": "bitcoinmagazine.com", "thumbnail": null }, { "_id": "5b3865405c5681000f2f7407", "publishedAt": "2018-06-30T14:58:00.000Z", "title": "Arbitration on a Governed Blockchain: EOS’ Crisis of Dispute Resolution", "url": "https://cryptocontrol.io/r/api/article/5b3865405c5681000f2f7407?ref=5ac11440ec0af7be35528459", "source": { "_id": "59d70be3ef8bf95cc2aa2b4f", "name": "CoinTelegraph", "url": "https://cointelegraph.com/" }, "sourceDomain": "cointelegraph.com", "thumbnail": null } ], "coins": [ { "_id": "59cb59f9b0836b0a63aebc7c", "name": "Ethereum", "tradingSymbol": "eth", "slug": "ethereum" }, { "_id": "59d21e9b83a0523906a45dc5", "name": "EOS", "slug": "eos", "tradingSymbol": "eos" } ], "_id": "5b3a2e1b104844000fd64e28", "description": "The EOS governance disaster offers a strong reminder of how entrenched human mistrust can be difficult to overcome.", "publishedAt": "2018-07-02T12:00:27.000Z", "title": "It's Too Soon for On-Chain Governance - CoinDesk", "url": "https://cryptocontrol.io/r/api/article/5b3a2e1b104844000fd64e28?ref=5ac11440ec0af7be35528459", "source": { "_id": "59ce11393a44cf289a9a71f5", "name": "CoinDesk", "url": "http://coindesk.com" }, "thumbnail": "https://cryptocontrol.io/r/thumbnail/5b3a2e1b104844000fd64e28?ref=5ac11440ec0af7be35528459", "sourceName": "CoinDesk", "sourceUrl": "http://coindesk.com", "sourceDomain": "coindesk.com", "originalImageUrl": "https://media.coindesk.com/uploads/2018/06/shutterstock_153840266-e1530230263310.jpg" }]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size crypto_news_api-2.3.0-py3-none-any.whl (4.4 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size crypto_news_api-2.3.0.tar.gz (4.4 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for crypto_news_api-2.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c61608c4bf1fc644d0194069da63d5b4255e325cc4d45c704df8df6d424ba35e |
|
MD5 | f02f8f5d5230a7a38882ba072c4709fc |
|
BLAKE2-256 | a1b430f7b1e9a249b8f70b92a2c781db44d8a7a0f5712b46b4c0cec13e0d7099 |