WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm writing a plugin that checks and collects data from WP - including info about installed plugins.

I can get most of the data I require using get_plugins() - however, I'd also like to check for the latest repository hosted version of each plugin - but I can't seem to find an API method for this.

Sorry, I've got no code to paste for commenting.. but I've had a good search around - honest!

Where I can find a simple and efficient way to check?

share|improve this question
up vote 4 down vote accepted

Ok - here is a method - thanks to @Rarst for pointing me in the right direction.

Include the require file if the plugins_api function is not found:

if ( ! function_exists( 'plugins_api' ) ) {
      require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );

Then, prepare a query to pass to plugins_api():

// set the arguments to get latest info from repository via API ##
$args = array(
    'slug' => 'plugin-slug-name',
    'fields' => array(
        'version' => true,

/** Prepare our query */
$call_api = plugins_api( 'plugin_information', $args );

/** Check for Errors & Display the results */
if ( is_wp_error( $call_api ) ) {

    $api_error = $call_api->get_error_message();

} else {

    //echo $call_api; // everything ##

    if ( ! empty( $call_api->version ) ) {

        $version_latest = $call_api->version;



ref: http://wp.tutsplus.com/tutorials/plugins/communicating-with-the-wordpress-org-plugin-api/

share|improve this answer
The API call is slow and costly - so results should be cached in transients.. – Q Studio Nov 19 '13 at 13:23
How to get slug name of all plugins – Suneel Omrey May 13 at 10:12
@SuneelOmrey plugins.svn.wordpress.org – majick Jul 6 at 3:02

There is not quite simple way to do it, since WP check for plugin updates by submitting all their data in bulk and it's pretty buried in wp_update_plugins().

It performs request to http://api.wordpress.org/plugins/update-check/1.1/ API endpoint and gets data about all updates. It's not available as more contained function for individual checks.

You could also look into Plugin Information API to approach this from repository side.

share|improve this answer
Thanks @Rarst - I found the plugins_api function which got me to what I needed.. – Q Studio Nov 19 '13 at 13:23

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.