A WordPress-centric search engine for devs and theme authors

API - v1.1

Generally speaking, you will send a method along with method specific arguments to the URL http://api.wpseek.com/1.1/.



Rules

  • All requests are GET.
  • If the entire path cannot be consumed, a 404 error will be returned (path was not found).
  • If the path can be fully consumed, and HTTP method handlers are present in the path but none are matched, a 405 "Method Not Allowed" response will be returned (if the request is a POST, but only a GET handler is available).
  • If the path can be fully consumed, and format handlers are present in the path but none are matched, a 406 "Not Acceptable" response will be returned (if ‘xml’ is requested, but only a 'json' handler is available).



API » /wordpress/release/latest

Get information about latest WordPress release
e.g. http://api.wpseek.com/1.1/wordpress/release/latest.json

Parameters

None

Sample Resonse (JSON)

{
    "status": "ok",
    "readme": "http:\/\/wpseek.com\/api\/",
    "version": "4.0",
    "release_date": 1409788800,
    "info_url": "http:\/\/wordpress.org\/news\/2014\/09\/benny\/",
    "download_url": "http:\/\/wordpress.org\/wordpress-4.0.zip"
}

Formats

.json, .xml



API » /wordpress/function/info

Parameters

None

Sample Resonse (JSON)

{
    "status": "ok",
    "readme": "http:\/\/wpseek.com\/api\/",
    "term": "get_posts",
    "url": "http:\/\/wpseek.com\/function\/get_posts\/",
    "version": {
        "introduced": "1.2.0",
        "deprecated": null
    },
    "description": {
        "short": "Retrieve list of latest posts or posts matching criteria.",
        "full": "<p>The defaults are as follows:<\/p>"
    },
    "links": [],
    "access": [],
    "uses": [],
    "see": ["WP_Query::parse_query()"],
    "params": [{
        "name": "$args",
        "type": "array",
        "desc": "{ Optional. Arguments to retrieve posts. {@see WP_Query::parse_query()} for more available arguments.",
        "required": false,
        "default": "null"
    }],
    "return": [{
        "type": "array",
        "desc": "List of posts."
    }],
    "definedat": [{
        "file": "wp-includes\/post.php",
        "line": 1839
    }]
}

Formats

.json, .xml



API » /wordpress/function/related

Parameters

limit (optional) - How many to return. Defaults and maxes out at 10.

Sample Resonse (JSON)

{
    "status": "ok",
    "readme": "http:\/\/wpseek.com\/api\/",
    "term": "blog",
    "generator": "http:\/\/wpseek.com\/",
    "items": [{
        "name": "wp_cache_switch_to_blog",
        "type": "WordPress Function"
    }, {
        "name": "weblog_ping",
        "type": "WordPress Function"
    }]
}

Formats

.json, .xml



API » /wordpress/functions

Parameters

None

Sample Resonse (JSON)

{
    "status": "ok",
	"readme": "http:\/\/wpseek.com\/api\/",
	"items": [
	    "_",
	    "__",
	    "__checked_selected_helper",
	    "__clear_multi_author_cache",
	    "__get_option",
	    "__ngettext",
	    "__ngettext_noop",
	    "__return_empty_array",
	    "__return_false",
	    [...]
	]
}

Formats

.json, .xml, .plain



API » /wordpress/constant/info

Parameters

None

Sample Resonse (JSON)

{
    "status": "ok",
    "readme": "http:\/\/wpseek.com\/api\/",
    "term": "TEMPLATEPATH",
    "url": "http:\/\/wpseek.com\/constant\/templatepath\/",
    "version": {
        "introduced": null,
        "deprecated": null
    },
    "description": {
        "short": "Filesystem path to the current active template directory",
        "full": ""
    },
    "definedat": {
        "file": "wp-includes\/default-constants.php",
        "line": 306
    },
    "signature": "define('TEMPLATEPATH', get_template_directory());"
}

Formats

.json, .xml



API » /wordpress/constants

Parameters

None

Sample Resonse (JSON)

{
    "status": "ok",
	"readme": "http:\/\/wpseek.com\/api\/",
	"items": [
	    "ABSPATH",
	    "ADMIN_COOKIE_PATH",
	    "AKISMET_DELETE_LIMIT",
	    "AKISMET_VERSION",
	    "AKISMET__MINIMUM_WP_VERSION",
	    [...]
	]
}

Formats

.json, .xml, .plain



API » /wordpress/topics/

Get forum topics created on wordpress.org/support/
e.g. http://api.wpseek.com/1.1/wordpress/topics/remote.json?limit=2

Parameters

limit (optional) - How many to return. Defaults and maxes out at 5.

Sample Resonse (JSON)

{
    "status": "ok",
    "readme": "http:\/\/wpseek.com\/api\/",
    "term": "remote",
    "generator": "http:\/\/wordpress.org\/",
    "items": [{
        "title": "shareyourpeace on \"Bring down wordpress files from remote to local\"",
        "link": "https:\/\/wordpress.org\/support\/topic\/bring-down-wordpress-files-from-remote-to-local#post-6117131",
        "pubDate": "Tue, 14 Oct 2014 13:23:21 +0000",
        "description": "@lylechamney. Thank you very much for taking the time to explain.\nThis is a clear explanation and I understand the logic !\n"
    }, {
        "title": "LyleChamney on \"Bring down wordpress files from remote to local\"",
        "link": "https:\/\/wordpress.org\/support\/topic\/bring-down-wordpress-files-from-remote-to-local#post-6103327",
        "pubDate": "Fri, 10 Oct 2014 05:54:05 +0000",
        "description": "Files and folders are only one part of a WP installation; the other part is the database for each site; this is where all of your posts, pages, settings, etc. are stored in and retrieved from. Without the database, your site will not work.\nLive Site:\n- export the database\n- ZIP the contents of the site and download (or if the live site does not support ZIP ((archiving, compression, etc.)) then use FTP to download)\nLocal Site:\n- use phpMyAdmin to create a new, empty database\n- import the exported database .sql file\n- edit the siteurl and home fields in the wp-options table with the new location URL:\nIn your case with MAMP (default settings):\n-- http:\/\/localhost:8888 - if it will be in the root of the local server\n-- http:\/\/localhost:8888\/folder_name - if in a folder in the local server web root\n- unZIP or move the downloaded site files to the desired location\n- edit the wp-config.php file there with the local database connection credentials (\nNOTE: use a plain text editor (such as the popular, free Text Wrangler from Bare Bones Softwareto do so - TextEdit, by default, uses \"fancy quotes\" which will not work!)\n- log into the local site Dashboard and install and run this plugin:\nhttp:\/\/wordpress.org\/plugins\/velvet-blues-update-urls\/\n-- select all options EXCEPT the last one (GUID)\n- go to Settings > Permalinks and just re-save\nDone :-)\n"
    }]
}

Formats

.json, .xml