{"id":17469739,"url":"https://github.com/shellrow/securitytrails-rs","last_synced_at":"2025-06-25T22:37:42.014Z","repository":{"id":57666523,"uuid":"370039416","full_name":"shellrow/securitytrails-rs","owner":"shellrow","description":"Rust bindings for SecurityTrails API","archived":false,"fork":false,"pushed_at":"2022-04-23T15:44:41.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T03:46:35.600Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shellrow.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":"2021-05-23T11:52:15.000Z","updated_at":"2022-04-23T15:15:26.000Z","dependencies_parsed_at":"2022-09-26T20:31:50.027Z","dependency_job_id":null,"html_url":"https://github.com/shellrow/securitytrails-rs","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fsecuritytrails-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fsecuritytrails-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fsecuritytrails-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fsecuritytrails-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shellrow","download_url":"https://codeload.github.com/shellrow/securitytrails-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246009044,"owners_count":20708881,"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-10-18T15:43:38.671Z","updated_at":"2025-03-28T09:44:44.880Z","avatar_url":"https://github.com/shellrow.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[crates-badge]: https://img.shields.io/crates/v/securitytrails-rs.svg\n[crates-url]: https://crates.io/crates/securitytrails-rs\n[license-badge]: https://img.shields.io/crates/l/securitytrails-rs.svg\n[examples-url]: https://github.com/shellrow/securitytrails-rs/tree/main/examples\n# securitytrails-rs [![Crates.io][crates-badge]][crates-url] ![License][license-badge]\nRust bindings for SecurityTrails API  \n**Currently under development and only some features are supported**  \n\n## Features (Unchecked items are under development)\n- [x] Ping\n- [x] Usage\n- [x] Details\n- [x] Subdomains\n- [x] Tags\n- [x] WHOIS\n- [ ] Search\n- [ ] Statistics\n- [ ] Associated domains\n- [ ] DNS History\n- [ ] WHOIS History\n- [ ] IP Neighbors\n- [ ] IP Statistics\n\n\n## Example\nSubdomains  \n```rust\nuse std::fs;\nuse securitytrails_rs::Client;\n\nfn main() {\n    let api_key: \u0026str = \"your_api_key\";\n    let domain = \"google.com\";\n    let client = Client::new(api_key).unwrap();\n    let ping = match client.ping() {\n        Ok(ping) =\u003e ping,\n        Err(e) =\u003e {\n            println!(\"{}\", e);\n            return;\n        },\n    };\n    println!(\"ping: {}\", ping.success);\n    let subdomains = match client.get_subdomains(domain) {\n        Ok(subdomains) =\u003e subdomains,\n        Err(e) =\u003e {\n            println!(\"{}\", e);\n            return;\n        },\n    };\n    println!(\"endpoint: {}\", subdomains.endpoint);\n    //println!(\"subdomains: {:?}\", subdomains.subdomains);\n    let joined = subdomains.subdomains.join(\"\\n\");\n    let save_path = format!(\"{}_subdomains.txt\", domain);\n    fs::write(save_path.clone(), joined).expect(\"Unable to write file\");\n    println!(\"subdomains: Saved to {}\", save_path);\n    let usage = match client.get_usage() {\n        Ok(usage) =\u003e usage,\n        Err(e) =\u003e {\n            println!(\"{}\", e);\n            return;\n        },\n    };\n    println!(\"current: {}\", usage.current_monthly_usage);\n    println!(\"allowed: {}\", usage.allowed_monthly_usage);\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellrow%2Fsecuritytrails-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshellrow%2Fsecuritytrails-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellrow%2Fsecuritytrails-rs/lists"}