typisttech / wordfence-api
Fetch WordPress vulnerability information from Wordfence vulnerability data feed.
                                    Fund package maintenance!
                                                                            
                                                                                                                                        tangrufus
                                                                                    
                                                                            
                                                                                                                                        typist.tech/donation
                                                                                    
                                                                
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/typisttech/wordfence-api
Requires
- php: ^8.3
 - composer/semver: ^3.4
 - guzzlehttp/guzzle: ^7.9
 
Requires (Dev)
- mockery/mockery: ^1.6
 - pestphp/pest: ^4.1
 - phpstan/extension-installer: ^1.4
 - phpstan/phpstan: ^2.1
 - phpstan/phpstan-deprecation-rules: ^2.0
 - phpstan/phpstan-mockery: ^2.0
 - phpstan/phpstan-strict-rules: ^2.0
 
README
Wordfence API
  Fetch WordPress vulnerability information from Wordfence vulnerability data feed.
  
  
  Built with ♥ by Typist Tech
Tip
Hire Tang Rufus!
I am looking for my next role, freelance or full-time. If you find this package useful, I can build you more API clients like this. Let's talk if you are hiring PHP / Ruby / Go developers.
Contact me at https://typist.tech/contact/
Usage
use \TypistTech\WordfenceAPI\{Client, Feed, Record}; $client = new Client; // Alternatively, use `Feed::Scanner` for the scanner feed. $records = $client->fetch(Feed::Production); foreach($records as $record) { /** @var Record $record */ echo $record->title; }
Known Issues
Allowed memory size of 999999 bytes exhausted (tried to allocate 99 bytes)
Tip
Set memory_limit on the fly as a temporary fix:
php -d memory_limit=512MB your-script.php
As of October 2025, the production Wordfence vulnerability data feed is over 117 MB.
Client::fetch() downloads the feed into memory and json_decode() the entire feed all in one go.
It causes PHP to run out of memory.
A possible solution is to use a streaming JSON parser like json.Decoder in Go.
If you know how to do that in PHP, please send pull requests. 🙇
Tip
Hire Tang Rufus!
There is no need to understand any of these quirks. Let me handle them for you. I am seeking my next job, freelance or full-time.
If you are hiring PHP / Ruby / Go developers, contact me at https://typist.tech/contact/
Installation
composer require typisttech/wordfence-api
Credits
Wordfence API is a Typist Tech project and maintained by Tang Rufus, freelance developer for hire.
Full list of contributors can be found on GitHub.
Copyright and License
This project is a free software distributed under the terms of the MIT license. For the full license, see LICENSE.
Wordfence Intelligence Terms and Conditions
Before using Wordfence Vulnerability Data Feed API, you must read and agree to the Wordfence Intelligence Terms and Conditions.
Learn more at Wordfence help documentation.
If you have any questions about the terms and conditions, please contact Wordfence directly.
MITRE Attribution Requirement
Any company or individual who uses Wordfence vulnerability database API needs to display the MITRE copyright claims included in that vulnerability record for any MITRE vulnerabilities that they display to their end user.
Learn more at Wordfence help documentation.
If you have any questions about the attribution requirement, please contact Wordfence directly.
Contribute
Feedbacks / bug reports / pull requests are welcome.