{"id":20571547,"url":"https://github.com/circl/urlquery_python_api","last_synced_at":"2025-04-14T17:07:00.659Z","repository":{"id":5787983,"uuid":"7002149","full_name":"CIRCL/urlquery_python_api","owner":"CIRCL","description":"Python API for URL Query","archived":false,"fork":false,"pushed_at":"2016-05-22T00:44:04.000Z","size":203,"stargazers_count":35,"open_issues_count":1,"forks_count":7,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-14T17:06:54.836Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://urlquery.net/index.php","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CIRCL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-04T15:32:26.000Z","updated_at":"2024-09-19T00:05:12.000Z","dependencies_parsed_at":"2022-09-04T20:22:45.492Z","dependency_job_id":null,"html_url":"https://github.com/CIRCL/urlquery_python_api","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIRCL%2Furlquery_python_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIRCL%2Furlquery_python_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIRCL%2Furlquery_python_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CIRCL%2Furlquery_python_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CIRCL","download_url":"https://codeload.github.com/CIRCL/urlquery_python_api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248923766,"owners_count":21183953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T05:16:31.870Z","updated_at":"2025-04-14T17:07:00.636Z","avatar_url":"https://github.com/CIRCL.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Readme\n======\n\nAPI to access [urlquery](http://urlquery.net/index.php).\n\n\nIntro to the API\n================\n\nThe API uses JSON requests and responses. A json string is built with the\nparameters and the function to call and POSTed over HTTPS to the API URL.\n\nThe functions to call is put in the \"method\" key within the JSON string, the\nrest of the parameters to the functions has their respective parameter name as\nkey. The \"method\" key is required for all API calls.\n\nThe API key isn't always required for API calls, but by not using the key it\nwill often severely reduce the amount of data that are returned. The data\nreturned is determined by the key and its associated permissions.\n\n\nNote: The access of the default key (no key) is very limited, even more than\nwhatis accessible on the public site.\n\nAPI calls\n=========\n\nCommon Objects in response structures:\n\n* IP::\n\n        {\n            \"addr\"  : string,\n            \"cc\"    : string,   Country code (NO, UK, SE, DK) etc..\n            \"country\": string,\n            \"asn\"   : int,      ASN number\n            \"as\"    :  string   AS string (full name)\n        }\n\n* URL::\n\n        {\n            \"addr\"  : string,\n            \"fqdn\"  : string,\n            \"domain\": string,\n            \"tld\"   : string,\n            \"ip\"    : IP        IP object\n        }\n\n* SETTINGS::\n\n    {\n        \"useragent\" : string, UserAgent used\n        \"referer\"   : string,\n        \"pool\"      : string, Pool of exit nodes used\n        \"access_level\": string\n    }\n\n* BINBLOB::\n\n    {\n        \"base64_data\"   : string, Base64 encoded data\n        \"media_type\"    : string  mime type\n    }\n\n\n* Example::\n\n        {\n            \"url\":\n                {\n                    \"addr\": \"www.youtube.com/watch?v=oHg5SJYRHA0\",\n                    \"ip\":\n                        {\n                            \"addr\": \"213.155.151.148\",\n                            \"cc\": \"IE\",\n                            \"country\": \"Ireland\",\n                            \"asn\": 1299,\n                            \"as\": \"AS1299 TeliaSonera International Carrier\"\n                        },\n                    \"fqdn\": \"www.youtube.com\",\n                    \"domain\": \"youtube.com\",\n                    \"tld\": \"com\"\n                }\n        }\n\nAll responses from the API includes a response object. Which holds the status\nof the API call. This is called \"_response_\"\n\n* RESPONSE::\n\n    {\n        \"status\"    : string,   \"ok\" or \"error\"\n        \"error\"     : string    Error string if applicable\n    }\n\nAPI Key\n=======\n\nIf you have an API Key, put it in apikey.py with the variable name 'key'.\n\nGzip\n====\n\nTo get the responses of the api gzip'ed, change 'gzip_default' to True.\n\nDependencies\n============\n\nHard:\n\n* requests: https://github.com/kennethreitz/Requests\n* dateutil\n\nOptional:\n\n* jsonsimple\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcircl%2Furlquery_python_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcircl%2Furlquery_python_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcircl%2Furlquery_python_api/lists"}