{ "info": { "author": "Jonathan Kosgei", "author_email": "jonatha@ipdata.co", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "# Getting Started\n\nThis is a Python client for the [ipdata.co](https://ipdata.co) IP Geolocation API. ipdata offers a fast, highly-available API to enrich IP Addresses with Location, Company, Threat Intelligence and numerous other data attributes.\n\nNote you need an API Key to access the API. To get a key on the 1500 requests a day free tier, sign up at https://ipdata.co/registration.html. If you need higher volume, sign up for your preferred plan at https://ipdata.co/pricing.html.\n\nVisit our [Documentation](https://docs.ipdata.co/) for more information.\n\n## Installation\n\n```\npip3 install ipdata\n```\n\n## Usage\n\n1. Looking Up the Calling IP Address\n\n```\nfrom ipdata import ipdata\nfrom pprint import pprint\n# Create an instance of an ipdata object. Replace `test` with your API Key\nipdata = ipdata.IPData('test')\nresponse = ipdata.lookup()\npprint(response)\n```\n\n2. Looking Up any IP Address\n\n```\nfrom ipdata import ipdata\nfrom pprint import pprint\n# Create an instance of an ipdata object. Replace `test` with your API Key\nipdata = ipdata.IPData('test')\nresponse = ipdata.lookup('69.78.70.144')\npprint(response)\n```\n\nResponse\n\n```\n{'asn': 'AS6167',\n 'calling_code': '1',\n 'carrier': {'mcc': '310', 'mnc': '004', 'name': 'Verizon'},\n 'city': 'Farmersville',\n 'continent_code': 'NA',\n 'continent_name': 'North America',\n 'count': '1506',\n 'country_code': 'US',\n 'country_name': 'United States',\n 'currency': {'code': 'USD',\n 'name': 'US Dollar',\n 'native': '$',\n 'plural': 'US dollars',\n 'symbol': '$'},\n 'emoji_flag': '\ud83c\uddfa\ud83c\uddf8',\n 'emoji_unicode': 'U+1F1FA U+1F1F8',\n 'flag': 'https://ipdata.co/flags/us.png',\n 'ip': '69.78.70.144',\n 'is_eu': False,\n 'languages': [{'name': 'English', 'native': 'English'}],\n 'latitude': 33.1659,\n 'longitude': -96.3686,\n 'organisation': 'Cellco Partnership DBA Verizon Wireless',\n 'postal': '75442',\n 'region': 'Texas',\n 'region_code': 'TX',\n 'status': 200,\n 'threat': {'is_anonymous': False,\n 'is_bogon': False,\n 'is_known_abuser': False,\n 'is_known_attacker': False,\n 'is_proxy': False,\n 'is_threat': False,\n 'is_tor': False},\n 'time_zone': {'abbr': 'CDT',\n 'current_time': '2019-04-28T17:56:59.246755-05:00',\n 'is_dst': True,\n 'name': 'America/Chicago',\n 'offset': '-0500'}}\n```\n\n3. Getting only one field\n\n```\nfrom ipdata import ipdata\nfrom pprint import pprint\n# Create an instance of an ipdata object. Replace `test` with your API Key\nipdata = ipdata.IPData('test')\nresponse = ipdata.lookup('8.8.8.8', select_field='organisation')\npprint(response)\n```\n\nResponse\n\n```\n{'organisation': 'Google LLC', 'status': 200}\n```\n\n4. Getting a number of specific fields\n\n```\nfrom ipdata import ipdata\nfrom pprint import pprint\n# Create an instance of an ipdata object. Replace `test` with your API Key\nipdata = ipdata.IPData('test')\nresponse = ipdata.lookup('8.8.8.8',fields=['ip','organisation','country_name'])\npprint(response)\n```\n\nResponse\n\n```\n{'country_name': 'United States',\n 'ip': '8.8.8.8',\n 'organisation': 'Google LLC',\n 'status': 200}\n```\n\n5. Bulk Lookups\n\n```\nfrom ipdata import ipdata\nfrom pprint import pprint\n# Create an instance of an ipdata object. Replace `test` with your API Key\nipdata = ipdata.IPData('test')\nresponse = ipdata.bulk_lookup(['8.8.8.8','1.1.1.1'])\npprint(response)\n```\n\nResponse\n\n```\n{'responses': [{'asn': 'AS15169',\n 'calling_code': '1',\n 'city': None,\n 'continent_code': 'NA',\n 'continent_name': 'North America',\n 'count': '1506',\n 'country_code': 'US',\n 'country_name': 'United States',\n 'currency': {'code': 'USD',\n 'name': 'US Dollar',\n 'native': '$',\n 'plural': 'US dollars',\n 'symbol': '$'},\n 'emoji_flag': '\ud83c\uddfa\ud83c\uddf8',\n 'emoji_unicode': 'U+1F1FA U+1F1F8',\n 'flag': 'https://ipdata.co/flags/us.png',\n 'ip': '8.8.8.8',\n 'is_eu': False,\n 'languages': [{'name': 'English', 'native': 'English'}],\n 'latitude': 37.751,\n 'longitude': -97.822,\n 'organisation': 'Google LLC',\n 'postal': None,\n 'region': None,\n 'region_code': None,\n 'threat': {'is_anonymous': False,\n 'is_bogon': False,\n 'is_known_abuser': False,\n 'is_known_attacker': False,\n 'is_proxy': False,\n 'is_threat': False,\n 'is_tor': False},\n 'time_zone': {'abbr': 'CDT',\n 'current_time': '2019-04-28T18:02:48.035425-05:00',\n 'is_dst': True,\n 'name': 'America/Chicago',\n 'offset': '-0500'}},\n {'asn': 'AS13335',\n 'calling_code': '61',\n 'city': None,\n 'continent_code': 'OC',\n 'continent_name': 'Oceania',\n 'count': '1506',\n 'country_code': 'AU',\n 'country_name': 'Australia',\n 'currency': {'code': 'AUD',\n 'name': 'Australian Dollar',\n 'native': '$',\n 'plural': 'Australian dollars',\n 'symbol': 'AU$'},\n 'emoji_flag': '\ud83c\udde6\ud83c\uddfa',\n 'emoji_unicode': 'U+1F1E6 U+1F1FA',\n 'flag': 'https://ipdata.co/flags/au.png',\n 'ip': '1.1.1.1',\n 'is_eu': False,\n 'languages': [{'name': 'English', 'native': 'English'}],\n 'latitude': -33.494,\n 'longitude': 143.2104,\n 'organisation': 'Cloudflare, Inc.',\n 'postal': None,\n 'region': None,\n 'region_code': None,\n 'threat': {'is_anonymous': False,\n 'is_bogon': False,\n 'is_known_abuser': False,\n 'is_known_attacker': False,\n 'is_proxy': False,\n 'is_threat': False,\n 'is_tor': False},\n 'time_zone': {'abbr': 'AEST',\n 'current_time': '2019-04-29T09:02:48.036287+10:00',\n 'is_dst': False,\n 'name': 'Australia/Sydney',\n 'offset': '+1000'}}],\n 'status': 200}\n```\n\n## Available Fields\n\nA list of all the fields returned by the API is maintained at [Response Fields](https://docs.ipdata.co/api-reference/response-fields)\n\n## Errors\n\nA list of possible errors is available at [Status Codes](https://docs.ipdata.co/api-reference/status-codes)\n\n## Tests\n\nTo run all tests\n\n```\npython3 test_ipdata.py\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ipdata/python", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ipdata", "package_url": "https://pypi.org/project/ipdata/", "platform": "", "project_url": "https://pypi.org/project/ipdata/", "project_urls": { "Homepage": "https://github.com/ipdata/python" }, "release_url": "https://pypi.org/project/ipdata/3.2/", "requires_dist": [ "requests", "ipaddress" ], "requires_python": "", "summary": "Python Client for the ipdata IP Geolocation API", "version": "3.2" }, "last_serial": 5201134, "releases": { "1.5": [ { "comment_text": "", "digests": { "md5": "c4ee7e84867f850ca0a508ecaec07d1e", "sha256": "29eb56725ae2c9674ad8fe3a9e3e4f78274b6f8be7fea46849cce0fb742cbbfd" }, "downloads": -1, "filename": "ipdata-1.5.tar.gz", "has_sig": false, "md5_digest": "c4ee7e84867f850ca0a508ecaec07d1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1421, "upload_time": "2017-10-25T09:20:26", "url": "https://files.pythonhosted.org/packages/3a/9a/0fcf0efdec7d547bd59c9c44f6e26b1d03a6f51dc17dad3b609c6c2b11d9/ipdata-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "3e844ccd919176e6cd9596425010a868", "sha256": "7ca4429cffc8d09ece250d5bffacba0ef88bfffa3a662fa3f4edaf5cc221d080" }, "downloads": -1, "filename": "ipdata-1.6.tar.gz", "has_sig": false, "md5_digest": "3e844ccd919176e6cd9596425010a868", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1623, "upload_time": "2017-10-25T09:24:30", "url": "https://files.pythonhosted.org/packages/79/47/340ae6c205305c186933357faa898bde951de3d64db041655ed29ab83e0c/ipdata-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "871dda35b8b37366b977427a2f0d7612", "sha256": "62803c2ded7437a708ce7fa59486607329d0425c622320b042a15dda5b586b14" }, "downloads": -1, "filename": "ipdata-1.7.tar.gz", "has_sig": false, "md5_digest": "871dda35b8b37366b977427a2f0d7612", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1631, "upload_time": "2017-10-25T18:13:23", "url": "https://files.pythonhosted.org/packages/a5/a8/e7d6ca5584f91161dd9e62549c788ed598fe2eb03144e712a92836eb32f7/ipdata-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "b5cd3be1f60e5aa2d9b84ae1cb70f467", "sha256": "e2b7aee3c30b1a448cf0b32352673842b920ba842e9db15c107cb439fc8a1be7" }, "downloads": -1, "filename": "ipdata-1.8.tar.gz", "has_sig": false, "md5_digest": "b5cd3be1f60e5aa2d9b84ae1cb70f467", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1630, "upload_time": "2017-10-25T18:39:14", "url": "https://files.pythonhosted.org/packages/11/f0/1595ccdb524e800e5f50b023e5fb37517ab643c51d12bc99b4a28d5bf96a/ipdata-1.8.tar.gz" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "48f2698de1a7fbaae650d97b3a6a7d5a", "sha256": "25bbd7b853fcf32d7bc2a54cd113e0b693daff092f430e7ef869052e97c9e2ff" }, "downloads": -1, "filename": "ipdata-1.9.tar.gz", "has_sig": false, "md5_digest": "48f2698de1a7fbaae650d97b3a6a7d5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1788, "upload_time": "2017-10-25T18:42:59", "url": "https://files.pythonhosted.org/packages/16/82/08cb8eb85488a4b30368f91b230b1855e84725c0b0d79b99658e1fd5f351/ipdata-1.9.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "5391f0d821b701d475f714dcc8c0337c", "sha256": "0021ef2a7b05c03b3dfde712b1c45e9cd39a2e0bcec438ac226f0ac71e4a29ae" }, "downloads": -1, "filename": "ipdata-2.0.tar.gz", "has_sig": false, "md5_digest": "5391f0d821b701d475f714dcc8c0337c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1788, "upload_time": "2017-10-25T19:19:10", "url": "https://files.pythonhosted.org/packages/a2/62/61366fe9d268889fb83f3de3a57a572b93efc303286295bbfb160a0dd33e/ipdata-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "e6f25fe08f3c82bdd1b123192eaa90eb", "sha256": "5ca59c1d694678a90227d38481259a910c008424b47391c9c25374c36dfb447f" }, "downloads": -1, "filename": "ipdata-2.1.tar.gz", "has_sig": false, "md5_digest": "e6f25fe08f3c82bdd1b123192eaa90eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1785, "upload_time": "2017-10-25T19:21:13", "url": "https://files.pythonhosted.org/packages/55/c7/0407ac267742837a461cf00a5f5f826ae51b83321f58279877f82a5bd263/ipdata-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "d1b262aa8563ae8705c16ec1f09c7c85", "sha256": "e8957dda5248e270af35526ac6a66d0dd1ac3ce7db0f5c44b197d1d6054c209f" }, "downloads": -1, "filename": "ipdata-2.2.tar.gz", "has_sig": false, "md5_digest": "d1b262aa8563ae8705c16ec1f09c7c85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2002, "upload_time": "2017-11-30T10:05:06", "url": "https://files.pythonhosted.org/packages/91/1e/2b1cc7eeea5d25657eaabb3bc1ef45020a442d15d2d9ff3a6e55b2f1ce75/ipdata-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "5b757194295b7488a537a3acc5b59c0f", "sha256": "7221cbed094de38a5cf540c3eca2bc370ee16328d0a1b555dc200eda2021d7c0" }, "downloads": -1, "filename": "ipdata-2.3.tar.gz", "has_sig": false, "md5_digest": "5b757194295b7488a537a3acc5b59c0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1997, "upload_time": "2017-11-30T10:07:09", "url": "https://files.pythonhosted.org/packages/f7/b3/fd05e03787893cd890a56df6ce65f7ad77d925b6e7eea7e745c40c277f6c/ipdata-2.3.tar.gz" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "664519a4fd5f9ff6398c2686e7bd7945", "sha256": "9fe304f31462d9876007c139442db1696aaf911199340f6ab56a1952877de3c4" }, "downloads": -1, "filename": "ipdata-2.4.tar.gz", "has_sig": false, "md5_digest": "664519a4fd5f9ff6398c2686e7bd7945", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1993, "upload_time": "2017-12-08T22:18:38", "url": "https://files.pythonhosted.org/packages/68/72/b58381bbd5252533008f1133a2c065ddb5c51e6e9d9c2f1f2fcd39843b3f/ipdata-2.4.tar.gz" } ], "2.5": [ { "comment_text": "", "digests": { "md5": "4238b84d71d1b6f3fd763d9316f20494", "sha256": "ae23f212e9fbf7d3bb9dba553a3f283128640fd27dfc48158bba6ec4d8a52274" }, "downloads": -1, "filename": "ipdata-2.5.tar.gz", "has_sig": false, "md5_digest": "4238b84d71d1b6f3fd763d9316f20494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1996, "upload_time": "2017-12-08T22:25:07", "url": "https://files.pythonhosted.org/packages/30/1a/e187f4e7c9e6fcb4c6c692c88b293670ccee4802c3e861c8f43ea4030d10/ipdata-2.5.tar.gz" } ], "2.6": [ { "comment_text": "", "digests": { "md5": "8634b832c388023bcbf36c6063864497", "sha256": "94206afef6e868b709ad4a9ac20de8de9b2c010fb88bde0bba5b69c412e95d7f" }, "downloads": -1, "filename": "ipdata-2.6.tar.gz", "has_sig": false, "md5_digest": "8634b832c388023bcbf36c6063864497", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1940, "upload_time": "2017-12-08T22:40:24", "url": "https://files.pythonhosted.org/packages/cc/e1/597ccf10d0e98522452ab736d9892b514b2e379c572704abc8eb240f2c5d/ipdata-2.6.tar.gz" } ], "2.8": [ { "comment_text": "", "digests": { "md5": "9f9c9248b21b94e39be74412ccd5cf66", "sha256": "cad407fa7c9585665ff8ff2298df1e55be69e29bad526ccb934f4ecb7fa00ad6" }, "downloads": -1, "filename": "ipdata-2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "9f9c9248b21b94e39be74412ccd5cf66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5471, "upload_time": "2019-04-28T23:18:47", "url": "https://files.pythonhosted.org/packages/5d/89/2ffa31d3cf485d8a2440a9194fe99f9b20d9c5212c1a918a7094970f61d4/ipdata-2.8-py3-none-any.whl" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "a71ad81a879c7d2f3c580211473e55d8", "sha256": "44260e00e34845e18bdaa6de0248b39a9832e3a40b9fe30286ecc1c1f1dfd2cf" }, "downloads": -1, "filename": "ipdata-3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a71ad81a879c7d2f3c580211473e55d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5497, "upload_time": "2019-04-28T23:44:59", "url": "https://files.pythonhosted.org/packages/18/09/e0e9383e24c758526639da75f06947ea8ac9dae2487d6757886ca6bab4ba/ipdata-3.0-py3-none-any.whl" } ], "3.1": [ { "comment_text": "", "digests": { "md5": "edfc6cd4099c3868474584dcf44513e9", "sha256": "fcf1e27f826a3c502cda7e9a1fa3353b5773a46643c8afecb0631a09dac0df2b" }, "downloads": -1, "filename": "ipdata-3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "edfc6cd4099c3868474584dcf44513e9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5460, "upload_time": "2019-04-28T23:55:24", "url": "https://files.pythonhosted.org/packages/27/4b/c25a2c7438484b2cd86672a808004dcb64411d4c4dfa5ddbcfac0c4684a1/ipdata-3.1-py3-none-any.whl" } ], "3.2": [ { "comment_text": "", "digests": { "md5": "47cc82f8466255ac4ae3dabcff643ce9", "sha256": "366f41df93f6c828ffd6093092763008beb4ac6dd036360705208d564f56df5f" }, "downloads": -1, "filename": "ipdata-3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "47cc82f8466255ac4ae3dabcff643ce9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5461, "upload_time": "2019-04-29T00:02:52", "url": "https://files.pythonhosted.org/packages/83/99/2ecd5a77b23b50d95f5c10943213a13712391a22038f222c2c1986ad94ad/ipdata-3.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "47cc82f8466255ac4ae3dabcff643ce9", "sha256": "366f41df93f6c828ffd6093092763008beb4ac6dd036360705208d564f56df5f" }, "downloads": -1, "filename": "ipdata-3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "47cc82f8466255ac4ae3dabcff643ce9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5461, "upload_time": "2019-04-29T00:02:52", "url": "https://files.pythonhosted.org/packages/83/99/2ecd5a77b23b50d95f5c10943213a13712391a22038f222c2c1986ad94ad/ipdata-3.2-py3-none-any.whl" } ] }