{"id":22842709,"url":"https://github.com/arraypress/ipqualityscore","last_synced_at":"2026-02-14T13:33:41.856Z","repository":{"id":267165200,"uuid":"900442986","full_name":"arraypress/ipqualityscore","owner":"arraypress","description":"A PHP library for integrating with the IPQualityScore API in WordPress, providing proxy, VPN \u0026 email validation, phone verification, dark web monitoring, URL scanning, and fraud prevention.","archived":false,"fork":false,"pushed_at":"2025-01-06T17:40:39.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-20T22:47:03.361Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arraypress.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-08T19:32:10.000Z","updated_at":"2025-04-30T20:50:44.000Z","dependencies_parsed_at":"2024-12-08T20:15:29.432Z","dependency_job_id":"509ba061-0235-4521-950f-8b025e61d85e","html_url":"https://github.com/arraypress/ipqualityscore","commit_stats":null,"previous_names":["arraypress/ipqualityscore"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arraypress/ipqualityscore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arraypress%2Fipqualityscore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arraypress%2Fipqualityscore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arraypress%2Fipqualityscore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arraypress%2Fipqualityscore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arraypress","download_url":"https://codeload.github.com/arraypress/ipqualityscore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arraypress%2Fipqualityscore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29444752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T12:43:28.304Z","status":"ssl_error","status_checked_at":"2026-02-14T12:43:14.160Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-12-13T02:09:37.212Z","updated_at":"2026-02-14T13:33:41.841Z","avatar_url":"https://github.com/arraypress.png","language":"PHP","readme":"# IPQualityScore Library for WordPress\n\nA WordPress library for IPQualityScore API integration providing proxy \u0026 VPN detection, email validation, phone verification, dark web monitoring, URL scanning, and fraud prevention with WordPress transient caching.\n\n## Installation\n\nInstall via Composer:\n\n```bash\ncomposer require arraypress/ipqualityscore\n```\n\n## Requirements\n\n- PHP 7.4 or later\n- WordPress 6.2.2 or later\n- IPQualityScore API key\n\n## Basic Usage\n\n```php\nuse ArrayPress\\IPQualityScore\\Client;\n\n// Initialize with your API key\n$client = new Client( 'your-api-key-here' );\n\n// Check IP address\n$response = $client-\u003echeck_ip( '1.1.1.1' );\n\n// Validate email\n$response = $client-\u003evalidate_email( 'test@example.com' );\n\n// Validate phone number\n$response = $client-\u003evalidate_phone( '18007132618', [ 'country' =\u003e 'US' ] );\n\n// Check for leaked data\n$response = $client-\u003echeck_leaked_data( 'test@example.com', 'email' );\n\n// Scan URL\n$response = $client-\u003escan_url( 'https://example.com' );\n```\n\n## Available Methods\n\n### Client Methods\n\n```php\n// Initialize client with options\n$client = new Client(\n    'your-api-key-here',   // API key\n    true,                  // Enable caching (optional, default: true)\n    3600                   // Cache duration in seconds (optional, default: 3600)\n);\n\n// Set common options\n$client-\u003eset_strictness( 1 );                    // Set strictness level (0-3)\n$client-\u003eset_allow_public_access_points( true ); // Allow public access points\n$client-\u003eset_lighter_penalties( true );          // Use lighter penalties\n\n// IP Reputation Check\n$ip_check = $client-\u003echeck_ip( '1.1.1.1' );\n\n// Email Validation\n$email_check = $client-\u003evalidate_email( 'test@example.com' );\n\n// Phone Validation\n$phone_check = $client-\u003evalidate_phone( '18007132618', [ 'country' =\u003e 'US' ] );\n\n// Dark Web Leak Check\n$leak_check = $client-\u003echeck_leaked_data( 'test@example.com', 'email' );\n\n// URL Scanning\n$url_scan = $client-\u003escan_url( 'https://example.com' );\n\n// Transaction Validation\n$transaction = $client-\u003evalidate_transaction( [\n    'ip_address' =\u003e '1.1.1.1',\n    // Additional transaction data\n] );\n\n// Allow \u0026 Block Lists\n$client-\u003ecreate_allowlist_entry( '1.1.1.1', 'proxy', 'ip', 'Trusted IP') ;\n$entries = $client-\u003eget_allowlist_entries();\n$client-\u003edelete_allowlist_entry( '1.1.1.1', 'proxy', 'ip' );\n\n$client-\u003ecreate_blocklist_entry( '8.8.8.8', 'proxy', 'ip', 'Malicious IP' );\n$entries = $client-\u003eget_blocklist_entries();\n$client-\u003edelete_blocklist_entry( '8.8.8.8', 'proxy', 'ip' );\n\n// Request History\n$requests = $client-\u003eget_request_list ('proxy', [\n    'start_date' =\u003e '2024-01-01',\n    'stop_date' =\u003e '2024-01-31'\n] );\n\n// Credit Usage\n$credits = $client-\u003eget_credit_usage();\n\n// Cache Management\n$client-\u003eclear_cache();                 // Clear all cached data\n$client-\u003eclear_cache( 'ip_1.1.1.1' );    // Clear specific cache\n```\n\n### IP Response Methods\n\n```php\n// Basic checks\n$is_proxy = $response-\u003eis_proxy();\n$is_vpn = $response-\u003eis_vpn();\n$is_tor = $response-\u003eis_tor();\n$is_crawler = $response-\u003eis_crawler();\n\n// Scores and risk assessment\n$fraud_score = $response-\u003eget_fraud_score();\n$abuse_velocity = $response-\u003eget_abuse_velocity();\n$recent_abuse = $response-\u003ehas_recent_abuse();\n\n// Connection info\n$connection_type = $response-\u003eget_connection_type();\n$is_mobile = $response-\u003eis_mobile();\n$is_bot = $response-\u003eis_bot();\n\n// Location data\n$country = $response-\u003eget_country_code();\n$region = $response-\u003eget_region();\n$city = $response-\u003eget_city();\n$timezone = $response-\u003eget_timezone();\n\n// Network info\n$organization = $response-\u003eget_organization();\n$asn = $response-\u003eget_asn();\n$host = $response-\u003eget_host();\n```\n\n### Email Response Methods\n\n```php\n$is_valid = $response-\u003eis_valid();\n$is_disposable = $response-\u003eis_disposable();\n$smtp_score = $response-\u003eget_smtp_score();\n$overall_score = $response-\u003eget_overall_score();\n$is_deliverable = $response-\u003eget_deliverability();\n$first_name = $response-\u003eget_first_name();\n$domain_age = $response-\u003eget_domain_age();\n$fraud_score = $response-\u003eget_fraud_score();\n$suggested_domain = $response-\u003eget_suggested_domain();\n$leaked = $response-\u003eis_leaked();\n```\n\n### Phone Response Methods\n\n```php\n$is_valid = $response-\u003eis_valid();\n$fraud_score = $response-\u003eget_fraud_score();\n$formatted = $response-\u003eget_formatted();\n$carrier = $response-\u003eget_carrier();\n$line_type = $response-\u003eget_line_type();\n$is_active = $response-\u003eis_active();\n$is_risky = $response-\u003eis_risky();\n$leaked = $response-\u003eis_leaked();\n```\n\n### URL Response Methods\n\n```php\n$is_unsafe = $response-\u003eis_unsafe();\n$domain_age = $response-\u003eget_domain_age();\n$risk_score = $response-\u003eget_risk_score();\n$is_phishing = $response-\u003eis_phishing();\n$is_malware = $response-\u003eis_malware();\n$category = $response-\u003eget_category();\n$dns_valid = $response-\u003eis_dns_valid();\n$risk_factors = $response-\u003eget_risk_factors();\n```\n\n## Response Examples\n\n### IP Check Response\n\n```php\n[\n    \"success\" =\u003e true,\n    \"message\" =\u003e \"Success\",\n    \"fraud_score\" =\u003e 25,\n    \"country_code\" =\u003e \"US\",\n    \"region\" =\u003e \"California\",\n    \"city\" =\u003e \"Los Angeles\",\n    \"ISP\" =\u003e \"Cloudflare, Inc.\",\n    \"ASN\" =\u003e 13335,\n    \"organization\" =\u003e \"Cloudflare, Inc.\",\n    \"is_crawler\" =\u003e false,\n    \"timezone\" =\u003e \"America/Los_Angeles\",\n    \"mobile\" =\u003e false,\n    \"host\" =\u003e \"one.one.one.one\",\n    \"proxy\" =\u003e true,\n    \"vpn\" =\u003e true,\n    \"tor\" =\u003e false,\n    \"recent_abuse\" =\u003e false,\n    \"bot_status\" =\u003e false\n]\n```\n\n### Email Response\n\n```php\n[\n    \"success\" =\u003e true,\n    \"valid\" =\u003e true,\n    \"disposable\" =\u003e false,\n    \"smtp_score\" =\u003e 3,\n    \"overall_score\" =\u003e 4,\n    \"first_name\" =\u003e \"John\",\n    \"deliverability\" =\u003e \"high\",\n    \"dns_valid\" =\u003e true,\n    \"fraud_score\" =\u003e 25,\n    \"leaked\" =\u003e false,\n    \"suggested_domain\" =\u003e \"example.com\",\n    \"domain_velocity\" =\u003e \"high\",\n    \"domain_trust\" =\u003e \"trusted\",\n    \"request_id\" =\u003e \"...\"\n]\n```\n\n## Error Handling\n\nThe library uses WordPress's `WP_Error` for error handling:\n\n```php\n$response = $client-\u003echeck_ip( 'invalid-ip' );\n\nif ( is_wp_error( $response ) ) {\n    echo $response-\u003eget_error_message();\n    // Output: \"Invalid IP address: invalid-ip\"\n}\n```\n\nCommon error cases:\n- Invalid input formats (IP, email, phone, URL)\n- Invalid API key\n- API request failures\n- Insufficient credits\n- Invalid responses\n\n## Additional Features\n\n### Allow \u0026 Block Lists\nManage trusted and blocked entities:\n```php\n// Allowlist\n$client-\u003ecreate_allowlist_entry( '1.1.1.1', 'proxy', 'ip' );\n$client-\u003eget_allowlist_entries();\n$client-\u003edelete_allowlist_entry( '1.1.1.1', 'proxy', 'ip' );\n\n// Blocklist\n$client-\u003ecreate_blocklist_entry( '8.8.8.8', 'proxy', 'ip' );\n$client-\u003eget_blocklist_entries();\n$client-\u003edelete_blocklist_entry( '8.8.8.8', 'proxy', 'ip' );\n```\n\n### Credit Usage Monitoring\nTrack API usage:\n```php\n$credits = $client-\u003eget_credit_usage();\necho \"Available credits: \" . $credits-\u003eget_credits();\necho \"Usage this period: \" . $credits-\u003eget_usage();\n```\n\n## Contributions\n\nContributions to this library are highly appreciated. Raise issues on GitHub or submit pull requests for bug fixes or new features. Share feedback and suggestions for improvements.\n\n## License: GPLv2 or later\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farraypress%2Fipqualityscore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farraypress%2Fipqualityscore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farraypress%2Fipqualityscore/lists"}