{ "info": { "author": "Steven Enamakel", "author_email": "enamakel@cryptocontrol.io", "bugtrack_url": null, "classifiers": [], "description": "CryptoControl - Python Crypto News API\n=========================\n\nOfficial Python client for the [CryptoControl.io](https://cryptocontrol.io) API. The CryptoControl python client lets developers access rich formatted articles from cryptonews sources from all around the world.\n\n## Installation\n```sh\npip install crypto-news-api\n```\n\n## Usage\nFirst make sure that you've recieved an API key by visiting [https://cryptocontrol.io/apis](https://cryptocontrol.io/apis). With the API key you can write the following code.\n\n\n```python\nfrom crypto_news_api import CryptoControlAPI\n\n# Connect to the CryptoControl API\napi = CryptoControlAPI(\"API_KEY_HERE\")\n\n# Connect to a self-hosted proxy server (to improve performance) that points to cryptocontrol.io\nproxyApi = CryptoControlAPI(\"API_KEY_HERE\", \"http://cryptocontrol_proxy/api/v1/public\")\n\n# Enable the sentiment datapoints\napi.enableSentiment()\n\n# Get top news\nprint(api.getTopNews())\n\n# get latest russian news\nprint(api.getLatestNews(\"ru\"))\n\n# get top bitcoin news\nprint(api.getTopNewsByCoin(\"bitcoin\"))\n\n# get top EOS tweets\nprint(api.getTopTweetsByCoin(\"eos\"))\n\n# get top Ripple reddit posts\nprint(api.getLatestRedditPostsByCoin(\"ripple\"))\n\n# get reddit/tweets/articles in a single combined feed for NEO\nprint(api.getTopFeedByCoin(\"neo\"))\n\n# get latest reddit/tweets/articles (seperated) for Litecoin\nprint(api.getLatestItemsByCoin(\"litecoin\"))\n\n# get details (subreddits, twitter handles, description, links) for ethereum\nprint(api.getCoinDetails(\"ethereum\"))\n```\n\n## Available Functions\n\n- **getTopNews(lang?: enum)** Get the top news articles.\n- **getLatestNews(lang?: enum)** Get the latest news articles.\n- **getTopNewsByCategory(lang?: enum)** Get news articles grouped by category.\n- **getTopNewsByCoin(coin: String, lang?: enum)** Get the top news articles for a specific coin from the CryptoControl API.\n- **getLatestNewsByCoin(coin: String, lang?: enum)** Get the latest news articles for a specific coin.\n- **getTopNewsByCoinCategory(coin: String, lang?: enum)** Get news articles grouped by category for a specific coin.\n- **getTopRedditPostsByCoin(coin: String, lang?: enum)** Get top reddit posts for a particular coin\n- **getLatestRedditPostsByCoin(coin: String, lang?: enum)** Get latest reddit posts for a particular coin\n- **getTopTweetsByCoin(coin: String, lang?: enum)** Get top tweets for a particular coin\n- **getLatestTweetsByCoin(coin: String, lang?: enum)** Get latest tweets for a particular coin\n- **getTopFeedByCoin(coin: String, lang?: enum)** Get a combined feed (reddit/tweets/articles) for a particular coin (sorted by time)\n- **getLatestFeedByCoin(coin: String, lang?: enum)** Get a combined feed (reddit/tweets/articles) for a particular coin (sorted by relevance)\n- **getTopItemsByCoin(coin: String, lang?: enum)** Get reddit/tweets/articles (seperated) for a particular coin (sorted by time)\n- **getLatestItemsByCoin(coin: String, lang?: enum)** Get reddit/tweets/articles (seperated) for a particular coin (sorted by relevance)\n- **getCoinDetails(coin: String)** Get all details about a particular coin (links, description, subreddits, twitter etc..)\n- **enableSentiment()** Get the sentiment datapoints\n\n\n`lang` allows developers to choose which language they'd like to get the feed. Currently the CryptoControl API supports the following languages:\n- English (`en` default)\n- Chinese/Mandarin (`cn`)\n- German (`de`)\n- Italian (`it`)\n- Japanese (`jp`)\n- Korean (`ko`)\n- Portuguese (`po`)\n- Russian (`ru`)\n- Spanish (`es`)\n\nThe 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](https://api.coinmarketcap.com/v1/ticker/?limit=2000)\n\n`enableSentiment()` will tell CrpytoControl to return articles/reddit/twitter with sentiment datapoints as well (ie. how much +ve/-ve an article is). This feature is for [CryptoControl premium users](https://cryptocontrol.io/en/about/premium) only.\n\n## Sample response from the server\n\n```javascript\n[{\n \"hotness\": 70862.60323026273,\n \"activityHotness\": 4.601980262729618,\n \"primaryCategory\": \"General\",\n \"words\": 1444,\n \"similarArticles\": [\n {\n \"_id\": \"5b363b525b113200191a1d5f\",\n \"publishedAt\": \"2018-06-29T13:42:44.000Z\",\n \"title\": \"Op-Ed: Challenge of Mining Centralization Unveils Bitcoin\u2019s Elegant Design\",\n \"url\": \"https://cryptocontrol.io/r/api/article/5b363b525b113200191a1d5f?ref=5ac11440ec0af7be35528459\",\n \"source\": {\n \"_id\": \"59d8c361ef8bf95cc2bfb66f\",\n \"name\": \"Bitcoin Magazine\",\n \"url\": \"https://bitcoinmagazine.com/\"\n },\n \"sourceDomain\": \"bitcoinmagazine.com\",\n \"thumbnail\": null\n },\n {\n \"_id\": \"5b3865405c5681000f2f7407\",\n \"publishedAt\": \"2018-06-30T14:58:00.000Z\",\n \"title\": \"Arbitration on a Governed Blockchain: EOS\u2019 Crisis of Dispute Resolution\",\n \"url\": \"https://cryptocontrol.io/r/api/article/5b3865405c5681000f2f7407?ref=5ac11440ec0af7be35528459\",\n \"source\": {\n \"_id\": \"59d70be3ef8bf95cc2aa2b4f\",\n \"name\": \"CoinTelegraph\",\n \"url\": \"https://cointelegraph.com/\"\n },\n \"sourceDomain\": \"cointelegraph.com\",\n \"thumbnail\": null\n }\n ],\n \"coins\": [\n {\n \"_id\": \"59cb59f9b0836b0a63aebc7c\",\n \"name\": \"Ethereum\",\n \"tradingSymbol\": \"eth\",\n \"slug\": \"ethereum\"\n },\n {\n \"_id\": \"59d21e9b83a0523906a45dc5\",\n \"name\": \"EOS\",\n \"slug\": \"eos\",\n \"tradingSymbol\": \"eos\"\n }\n ],\n \"_id\": \"5b3a2e1b104844000fd64e28\",\n \"description\": \"The EOS governance disaster offers a strong reminder of how entrenched human mistrust can be difficult to overcome.\",\n \"publishedAt\": \"2018-07-02T12:00:27.000Z\",\n \"title\": \"It's Too Soon for On-Chain Governance - CoinDesk\",\n \"url\": \"https://cryptocontrol.io/r/api/article/5b3a2e1b104844000fd64e28?ref=5ac11440ec0af7be35528459\",\n \"source\": {\n \"_id\": \"59ce11393a44cf289a9a71f5\",\n \"name\": \"CoinDesk\",\n \"url\": \"http://coindesk.com\"\n },\n \"thumbnail\": \"https://cryptocontrol.io/r/thumbnail/5b3a2e1b104844000fd64e28?ref=5ac11440ec0af7be35528459\",\n \"sourceName\": \"CoinDesk\",\n \"sourceUrl\": \"http://coindesk.com\",\n \"sourceDomain\": \"coindesk.com\",\n \"originalImageUrl\": \"https://media.coindesk.com/uploads/2018/06/shutterstock_153840266-e1530230263310.jpg\"\n}]\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/cryptocontrol/python-api/archive/2.2.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cryptocontrol/python-api", "keywords": "crypto,news,cryptocurrency,blockchain,api", "license": "", "maintainer": "", "maintainer_email": "", "name": "crypto-news-api", "package_url": "https://pypi.org/project/crypto-news-api/", "platform": "", "project_url": "https://pypi.org/project/crypto-news-api/", "project_urls": { "Download": "https://github.com/cryptocontrol/python-api/archive/2.2.0.tar.gz", "Homepage": "https://github.com/cryptocontrol/python-api" }, "release_url": "https://pypi.org/project/crypto-news-api/2.3.1/", "requires_dist": null, "requires_python": "", "summary": "Client to get a crypto newsfeed in your app from the CryptoControl API", "version": "2.3.1" }, "last_serial": 4200582, "releases": { "1.0.5": [ { "comment_text": "", "digests": { "md5": "4a04fd3ada6d64fb7c215a91cc0851c9", "sha256": "83178933bd798f494200bdc3db1284ec879b05770731ea1f3819863ce5e6db72" }, "downloads": -1, "filename": "crypto_news_api-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "4a04fd3ada6d64fb7c215a91cc0851c9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3140, "upload_time": "2018-05-31T18:57:49", "url": "https://files.pythonhosted.org/packages/a1/10/602adae4184218e9fa132dcd4b9b4dc85862d0efe4d145bf0a451408f05b/crypto_news_api-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43c69b85ab10655b88446df8d847cceb", "sha256": "e5d2e99a4c23654f5fb4c11849411bc447944072a0385defaffa95881a3e6c38" }, "downloads": -1, "filename": "crypto_news_api-1.0.5.tar.gz", "has_sig": false, "md5_digest": "43c69b85ab10655b88446df8d847cceb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2904, "upload_time": "2018-05-31T18:57:51", "url": "https://files.pythonhosted.org/packages/88/6f/1f676d6895766ab174d1130895077350fb25bc2a7f2ce9b54410af00ec44/crypto_news_api-1.0.5.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "ccd2451cacebbeba709fcd7ec1d0d6aa", "sha256": "d8aa8d18e29ca652b56a4af9fdfa931180212e5b58a0d19190176fe3c772ba04" }, "downloads": -1, "filename": "crypto_news_api-2.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ccd2451cacebbeba709fcd7ec1d0d6aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4200, "upload_time": "2018-07-21T09:21:14", "url": "https://files.pythonhosted.org/packages/24/51/7e7af414ba94bd8d19f27f6d5946432904224b43d388b021d219ffa9a55c/crypto_news_api-2.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5da17b4f9e95552e002e417e2cc074e5", "sha256": "d8717f3df959a9294ce35be677c460e77829765138301e57fc4636db5469e3fe" }, "downloads": -1, "filename": "crypto_news_api-2.2.0.tar.gz", "has_sig": false, "md5_digest": "5da17b4f9e95552e002e417e2cc074e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4215, "upload_time": "2018-07-21T09:21:16", "url": "https://files.pythonhosted.org/packages/f2/88/b5a0fcd5852cb09e22be391c54874292764a7659c9fa3e7f464fac00dd67/crypto_news_api-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "f02f8f5d5230a7a38882ba072c4709fc", "sha256": "c61608c4bf1fc644d0194069da63d5b4255e325cc4d45c704df8df6d424ba35e" }, "downloads": -1, "filename": "crypto_news_api-2.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f02f8f5d5230a7a38882ba072c4709fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4379, "upload_time": "2018-08-23T16:08:46", "url": "https://files.pythonhosted.org/packages/a1/b4/30f7b1e9a249b8f70b92a2c781db44d8a7a0f5712b46b4c0cec13e0d7099/crypto_news_api-2.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a01a1f5caa3ceb8290d16aaedfae2658", "sha256": "5744db6a4767386ffd86dfcf65e03daf4444bdb53e8894b8af1dfac772e003c1" }, "downloads": -1, "filename": "crypto_news_api-2.3.0.tar.gz", "has_sig": false, "md5_digest": "a01a1f5caa3ceb8290d16aaedfae2658", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4377, "upload_time": "2018-08-23T16:08:49", "url": "https://files.pythonhosted.org/packages/95/d3/486fb271d8498c37597048d4f759a3432aa8fc87101e83056fb1191d3447/crypto_news_api-2.3.0.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "363f43107cfc1dc2d3a3ea87e0455a2f", "sha256": "9a24c4c87ba6f21a64e023646fb1ba0a768b28098fdf4bc86df8727fee2ef1c7" }, "downloads": -1, "filename": "crypto_news_api-2.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "363f43107cfc1dc2d3a3ea87e0455a2f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4566, "upload_time": "2018-08-23T16:21:05", "url": "https://files.pythonhosted.org/packages/e2/99/590897da2dd738ef873f0d76cc423efd4e3c3d0a608f497ff3c2591588dd/crypto_news_api-2.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54ce4ba350528091bd7f5c6052280ee4", "sha256": "fb142a08c3c61da2a523706e2e2a66c3eae12caac41d12eae6f5dabbae632305" }, "downloads": -1, "filename": "crypto_news_api-2.3.1.tar.gz", "has_sig": false, "md5_digest": "54ce4ba350528091bd7f5c6052280ee4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4593, "upload_time": "2018-08-23T16:21:07", "url": "https://files.pythonhosted.org/packages/3c/e3/0d0bb2eab3d4cf5af4852266b0a28e9638b22934dd5f10bd065390f0d29f/crypto_news_api-2.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "363f43107cfc1dc2d3a3ea87e0455a2f", "sha256": "9a24c4c87ba6f21a64e023646fb1ba0a768b28098fdf4bc86df8727fee2ef1c7" }, "downloads": -1, "filename": "crypto_news_api-2.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "363f43107cfc1dc2d3a3ea87e0455a2f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4566, "upload_time": "2018-08-23T16:21:05", "url": "https://files.pythonhosted.org/packages/e2/99/590897da2dd738ef873f0d76cc423efd4e3c3d0a608f497ff3c2591588dd/crypto_news_api-2.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54ce4ba350528091bd7f5c6052280ee4", "sha256": "fb142a08c3c61da2a523706e2e2a66c3eae12caac41d12eae6f5dabbae632305" }, "downloads": -1, "filename": "crypto_news_api-2.3.1.tar.gz", "has_sig": false, "md5_digest": "54ce4ba350528091bd7f5c6052280ee4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4593, "upload_time": "2018-08-23T16:21:07", "url": "https://files.pythonhosted.org/packages/3c/e3/0d0bb2eab3d4cf5af4852266b0a28e9638b22934dd5f10bd065390f0d29f/crypto_news_api-2.3.1.tar.gz" } ] }