WordPress.com hosts sites and their content. Connect a WordPress.com site through OAuth to create and manage posts, pages, media, comments, categories, tags, and users. Use the search operation to find content before reading or updating it.
Sim requests these scopes when someone connects a WordPress account. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.
Setting Value Redirect URI <NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/wordpressEnvironment variables WORDPRESS_CLIENT_ID, WORDPRESS_CLIENT_SECRET
Scope Description globalFull access to every WordPress.com site the account can manage
Integrate with WordPress.com to create, update, and manage posts, pages, media, comments, categories, tags, and users. Connects to WordPress.com sites via OAuth.
Create a new blog post in WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) titlestring Yes Post title contentstring No Post content (HTML or plain text) statusstring No Post status: publish, draft, pending, private, or future excerptstring No Post excerpt categoriesstring No Comma-separated category IDs tagsstring No Comma-separated tag IDs featuredMedianumber No Featured image media ID slugstring No URL slug for the post
Parameter Type Description postobject The created post ↳ id number Post ID ↳ date string Post creation date ↳ modified string Post modification date ↳ slug string Post slug ↳ status string Post status ↳ type string Post type ↳ link string Post URL ↳ title object Post title object ↳ content object Post content object ↳ excerpt object Post excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ categories array Category IDs ↳ tags array Tag IDs
Update an existing blog post in WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) postIdnumber Yes The ID of the post to update titlestring No Post title contentstring No Post content (HTML or plain text) statusstring No Post status: publish, draft, pending, private, or future excerptstring No Post excerpt categoriesstring No Comma-separated category IDs tagsstring No Comma-separated tag IDs featuredMedianumber No Featured image media ID slugstring No URL slug for the post
Parameter Type Description postobject The updated post ↳ id number Post ID ↳ date string Post creation date ↳ modified string Post modification date ↳ slug string Post slug ↳ status string Post status ↳ type string Post type ↳ link string Post URL ↳ title object Post title object ↳ content object Post content object ↳ excerpt object Post excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ categories array Category IDs ↳ tags array Tag IDs
Delete a blog post from WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) postIdnumber Yes The ID of the post to delete forceboolean No Bypass trash and force delete permanently
Parameter Type Description deletedboolean Whether the post was deleted postobject The deleted post ↳ id number Post ID ↳ date string Post creation date ↳ modified string Post modification date ↳ slug string Post slug ↳ status string Post status ↳ type string Post type ↳ link string Post URL ↳ title object Post title object ↳ content object Post content object ↳ excerpt object Post excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ categories array Category IDs ↳ tags array Tag IDs
Get a single blog post from WordPress.com by ID
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) postIdnumber Yes The ID of the post to retrieve
Parameter Type Description postobject The retrieved post ↳ id number Post ID ↳ date string Post creation date ↳ modified string Post modification date ↳ slug string Post slug ↳ status string Post status ↳ type string Post type ↳ link string Post URL ↳ title object Post title object ↳ content object Post content object ↳ excerpt object Post excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ categories array Category IDs ↳ tags array Tag IDs
List blog posts from WordPress.com with optional filters
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) perPagenumber No Number of posts per page (e.g., 10, 25, 50). Default: 10, max: 100 pagenumber No Page number for pagination (e.g., 1, 2, 3) statusstring No Post status filter: publish, draft, pending, private authornumber No Filter by author ID (e.g., 1, 42) categoriesstring No Comma-separated category IDs to filter by (e.g., "1,2,3") tagsstring No Comma-separated tag IDs to filter by (e.g., "5,10,15") searchstring No Search term to filter posts (e.g., "tutorial", "announcement") orderBystring No Order by field: date, id, title, slug, modified orderstring No Order direction: asc or desc
Parameter Type Description postsarray List of posts ↳ id number Post ID ↳ date string Post creation date ↳ modified string Post modification date ↳ slug string Post slug ↳ status string Post status ↳ type string Post type ↳ link string Post URL ↳ title object Post title object ↳ content object Post content object ↳ excerpt object Post excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ categories array Category IDs ↳ tags array Tag IDs totalnumber Total number of posts totalPagesnumber Total number of pages
Create a new page in WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) titlestring Yes Page title contentstring No Page content (HTML or plain text) statusstring No Page status: publish, draft, pending, private excerptstring No Page excerpt parentnumber No Parent page ID for hierarchical pages menuOrdernumber No Order in page menu featuredMedianumber No Featured image media ID slugstring No URL slug for the page
Parameter Type Description pageobject The created page ↳ id number Page ID ↳ date string Page creation date ↳ modified string Page modification date ↳ slug string Page slug ↳ status string Page status ↳ type string Content type ↳ link string Page URL ↳ title object Page title object ↳ content object Page content object ↳ excerpt object Page excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ parent number Parent page ID ↳ menu_order number Menu order
Update an existing page in WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) pageIdnumber Yes The ID of the page to update titlestring No Page title contentstring No Page content (HTML or plain text) statusstring No Page status: publish, draft, pending, private excerptstring No Page excerpt parentnumber No Parent page ID for hierarchical pages menuOrdernumber No Order in page menu featuredMedianumber No Featured image media ID slugstring No URL slug for the page
Parameter Type Description pageobject The updated page ↳ id number Page ID ↳ date string Page creation date ↳ modified string Page modification date ↳ slug string Page slug ↳ status string Page status ↳ type string Content type ↳ link string Page URL ↳ title object Page title object ↳ content object Page content object ↳ excerpt object Page excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ parent number Parent page ID ↳ menu_order number Menu order
Delete a page from WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) pageIdnumber Yes The ID of the page to delete forceboolean No Bypass trash and force delete permanently
Parameter Type Description deletedboolean Whether the page was deleted pageobject The deleted page ↳ id number Page ID ↳ date string Page creation date ↳ modified string Page modification date ↳ slug string Page slug ↳ status string Page status ↳ type string Content type ↳ link string Page URL ↳ title object Page title object ↳ content object Page content object ↳ excerpt object Page excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ parent number Parent page ID ↳ menu_order number Menu order
Get a single page from WordPress.com by ID
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) pageIdnumber Yes The ID of the page to retrieve
Parameter Type Description pageobject The retrieved page ↳ id number Page ID ↳ date string Page creation date ↳ modified string Page modification date ↳ slug string Page slug ↳ status string Page status ↳ type string Content type ↳ link string Page URL ↳ title object Page title object ↳ content object Page content object ↳ excerpt object Page excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ parent number Parent page ID ↳ menu_order number Menu order
List pages from WordPress.com with optional filters
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) perPagenumber No Number of pages per request (e.g., 10, 25, 50). Default: 10, max: 100 pagenumber No Page number for pagination (e.g., 1, 2, 3) statusstring No Page status filter: publish, draft, pending, private parentnumber No Filter by parent page ID (e.g., 123) searchstring No Search term to filter pages (e.g., "about", "contact") orderBystring No Order by field: date, id, title, slug, modified, menu_order orderstring No Order direction: asc or desc
Parameter Type Description pagesarray List of pages ↳ id number Page ID ↳ date string Page creation date ↳ modified string Page modification date ↳ slug string Page slug ↳ status string Page status ↳ type string Content type ↳ link string Page URL ↳ title object Page title object ↳ content object Page content object ↳ excerpt object Page excerpt object ↳ author number Author ID ↳ featured_media number Featured media ID ↳ parent number Parent page ID ↳ menu_order number Menu order totalnumber Total number of pages totalPagesnumber Total number of result pages
Upload a media file (image, video, document) to WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) filefile No File to upload (UserFile object) filenamestring No Optional filename override (e.g., image.jpg) titlestring No Media title captionstring No Media caption altTextstring No Alternative text for accessibility descriptionstring No Media description
Parameter Type Description mediaobject The uploaded media item ↳ id number Media ID ↳ date string Upload date ↳ slug string Media slug ↳ type string Content type ↳ link string Media page URL ↳ title object Media title object ↳ caption object Media caption object ↳ alt_text string Alt text ↳ media_type string Media type (image, video, etc.) ↳ mime_type string MIME type ↳ source_url string Direct URL to the media file ↳ media_details object Media details (dimensions, etc.)
Get a single media item from WordPress.com by ID
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) mediaIdnumber Yes The ID of the media item to retrieve
Parameter Type Description mediaobject The retrieved media item ↳ id number Media ID ↳ date string Upload date ↳ slug string Media slug ↳ type string Content type ↳ link string Media page URL ↳ title object Media title object ↳ caption object Media caption object ↳ alt_text string Alt text ↳ media_type string Media type (image, video, etc.) ↳ mime_type string MIME type ↳ source_url string Direct URL to the media file ↳ media_details object Media details (dimensions, etc.)
List media items from the WordPress.com media library
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) perPagenumber No Number of media items per request (e.g., 10, 25, 50). Default: 10, max: 100 pagenumber No Page number for pagination (e.g., 1, 2, 3) searchstring No Search term to filter media (e.g., "logo", "banner") mediaTypestring No Filter by media type: image, video, audio, application mimeTypestring No Filter by specific MIME type (e.g., image/jpeg, image/png) orderBystring No Order by field: date, id, title, slug orderstring No Order direction: asc or desc
Parameter Type Description mediaarray List of media items ↳ id number Media ID ↳ date string Upload date ↳ slug string Media slug ↳ type string Content type ↳ link string Media page URL ↳ title object Media title object ↳ caption object Media caption object ↳ alt_text string Alt text ↳ media_type string Media type (image, video, etc.) ↳ mime_type string MIME type ↳ source_url string Direct URL to the media file ↳ media_details object Media details (dimensions, etc.) totalnumber Total number of media items totalPagesnumber Total number of result pages
Delete a media item from WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) mediaIdnumber Yes The ID of the media item to delete
Parameter Type Description deletedboolean Whether the media was deleted mediaobject The deleted media item ↳ id number Media ID ↳ date string Upload date ↳ slug string Media slug ↳ type string Content type ↳ link string Media page URL ↳ title object Media title object ↳ caption object Media caption object ↳ alt_text string Alt text ↳ media_type string Media type (image, video, etc.) ↳ mime_type string MIME type ↳ source_url string Direct URL to the media file ↳ media_details object Media details (dimensions, etc.)
Create a new comment on a WordPress.com post
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) postIdnumber Yes The ID of the post to comment on contentstring Yes Comment content parentnumber No Parent comment ID for replies authorNamestring No Comment author display name authorEmailstring No Comment author email authorUrlstring No Comment author URL
Parameter Type Description commentobject The created comment ↳ id number Comment ID ↳ post number Post ID ↳ parent number Parent comment ID ↳ author number Author user ID ↳ author_name string Author display name ↳ author_email string Author email ↳ author_url string Author URL ↳ date string Comment date ↳ content object Comment content object ↳ link string Comment permalink ↳ status string Comment status
List comments from WordPress.com with optional filters
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) perPagenumber No Number of comments per request (e.g., 10, 25, 50). Default: 10, max: 100 pagenumber No Page number for pagination (e.g., 1, 2, 3) postIdnumber No Filter by post ID (e.g., 123, 456) statusstring No Filter by comment status: approved, hold, spam, trash searchstring No Search term to filter comments (e.g., "question", "feedback") orderBystring No Order by field: date, id, parent orderstring No Order direction: asc or desc
Parameter Type Description commentsarray List of comments ↳ id number Comment ID ↳ post number Post ID ↳ parent number Parent comment ID ↳ author number Author user ID ↳ author_name string Author display name ↳ author_email string Author email ↳ author_url string Author URL ↳ date string Comment date ↳ content object Comment content object ↳ link string Comment permalink ↳ status string Comment status totalnumber Total number of comments totalPagesnumber Total number of result pages
Update a comment in WordPress.com (content or status)
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) commentIdnumber Yes The ID of the comment to update contentstring No Updated comment content statusstring No Comment status: approved, hold, spam, trash
Parameter Type Description commentobject The updated comment ↳ id number Comment ID ↳ post number Post ID ↳ parent number Parent comment ID ↳ author number Author user ID ↳ author_name string Author display name ↳ author_email string Author email ↳ author_url string Author URL ↳ date string Comment date ↳ content object Comment content object ↳ link string Comment permalink ↳ status string Comment status
Delete a comment from WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) commentIdnumber Yes The ID of the comment to delete forceboolean No Bypass trash and force delete permanently
Parameter Type Description deletedboolean Whether the comment was deleted commentobject The deleted comment ↳ id number Comment ID ↳ post number Post ID ↳ parent number Parent comment ID ↳ author number Author user ID ↳ author_name string Author display name ↳ author_email string Author email ↳ author_url string Author URL ↳ date string Comment date ↳ content object Comment content object ↳ link string Comment permalink ↳ status string Comment status
Create a new category in WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) namestring Yes Category name descriptionstring No Category description parentnumber No Parent category ID for hierarchical categories slugstring No URL slug for the category
Parameter Type Description categoryobject The created category ↳ id number Category ID ↳ count number Number of posts in this category ↳ description string Category description ↳ link string Category archive URL ↳ name string Category name ↳ slug string Category slug ↳ taxonomy string Taxonomy name ↳ parent number Parent category ID
List categories from WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) perPagenumber No Number of categories per request (e.g., 10, 25, 50). Default: 10, max: 100 pagenumber No Page number for pagination (e.g., 1, 2, 3) searchstring No Search term to filter categories (e.g., "news", "technology") orderstring No Order direction: asc or desc
Parameter Type Description categoriesarray List of categories ↳ id number Category ID ↳ count number Number of posts in this category ↳ description string Category description ↳ link string Category archive URL ↳ name string Category name ↳ slug string Category slug ↳ taxonomy string Taxonomy name ↳ parent number Parent category ID totalnumber Total number of categories totalPagesnumber Total number of result pages
Get a single category from WordPress.com by ID
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) categoryIdnumber Yes The ID of the category to retrieve
Parameter Type Description categoryobject The retrieved category ↳ id number Category ID ↳ count number Number of posts in this category ↳ description string Category description ↳ link string Category archive URL ↳ name string Category name ↳ slug string Category slug ↳ taxonomy string Taxonomy name ↳ parent number Parent category ID
Update an existing category in WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) categoryIdnumber Yes The ID of the category to update namestring No Category name descriptionstring No Category description parentnumber No Parent category ID for hierarchical categories slugstring No URL slug for the category
Parameter Type Description categoryobject The updated category ↳ id number Category ID ↳ count number Number of posts in this category ↳ description string Category description ↳ link string Category archive URL ↳ name string Category name ↳ slug string Category slug ↳ taxonomy string Taxonomy name ↳ parent number Parent category ID
Delete a category from WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) categoryIdnumber Yes The ID of the category to delete
Parameter Type Description deletedboolean Whether the category was deleted categoryobject The deleted category ↳ id number Category ID ↳ count number Number of posts in this category ↳ description string Category description ↳ link string Category archive URL ↳ name string Category name ↳ slug string Category slug ↳ taxonomy string Taxonomy name ↳ parent number Parent category ID
Create a new tag in WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) namestring Yes Tag name descriptionstring No Tag description slugstring No URL slug for the tag
Parameter Type Description tagobject The created tag ↳ id number Tag ID ↳ count number Number of posts with this tag ↳ description string Tag description ↳ link string Tag archive URL ↳ name string Tag name ↳ slug string Tag slug ↳ taxonomy string Taxonomy name
List tags from WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) perPagenumber No Number of tags per request (e.g., 10, 25, 50). Default: 10, max: 100 pagenumber No Page number for pagination (e.g., 1, 2, 3) searchstring No Search term to filter tags (e.g., "javascript", "tutorial") orderstring No Order direction: asc or desc
Parameter Type Description tagsarray List of tags ↳ id number Tag ID ↳ count number Number of posts with this tag ↳ description string Tag description ↳ link string Tag archive URL ↳ name string Tag name ↳ slug string Tag slug ↳ taxonomy string Taxonomy name totalnumber Total number of tags totalPagesnumber Total number of result pages
Get a single tag from WordPress.com by ID
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) tagIdnumber Yes The ID of the tag to retrieve
Parameter Type Description tagobject The retrieved tag ↳ id number Tag ID ↳ count number Number of posts with this tag ↳ description string Tag description ↳ link string Tag archive URL ↳ name string Tag name ↳ slug string Tag slug ↳ taxonomy string Taxonomy name
Update an existing tag in WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) tagIdnumber Yes The ID of the tag to update namestring No Tag name descriptionstring No Tag description slugstring No URL slug for the tag
Parameter Type Description tagobject The updated tag ↳ id number Tag ID ↳ count number Number of posts with this tag ↳ description string Tag description ↳ link string Tag archive URL ↳ name string Tag name ↳ slug string Tag slug ↳ taxonomy string Taxonomy name
Delete a tag from WordPress.com
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) tagIdnumber Yes The ID of the tag to delete
Parameter Type Description deletedboolean Whether the tag was deleted tagobject The deleted tag ↳ id number Tag ID ↳ count number Number of posts with this tag ↳ description string Tag description ↳ link string Tag archive URL ↳ name string Tag name ↳ slug string Tag slug ↳ taxonomy string Taxonomy name
Get information about the currently authenticated WordPress.com user
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com)
Parameter Type Description userobject The current user ↳ id number User ID ↳ username string Username ↳ name string Display name ↳ first_name string First name ↳ last_name string Last name ↳ email string Email address ↳ url string User website URL ↳ description string User bio ↳ link string Author archive URL ↳ slug string User slug ↳ roles array User roles ↳ avatar_urls object Avatar URLs at different sizes
List users from WordPress.com (requires admin privileges)
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) perPagenumber No Number of users per request (e.g., 10, 25, 50). Default: 10, max: 100 pagenumber No Page number for pagination (e.g., 1, 2, 3) searchstring No Search term to filter users (e.g., "john", "admin") rolesstring No Comma-separated role names to filter by (e.g., "administrator,editor") orderstring No Order direction: asc or desc
Parameter Type Description usersarray List of users ↳ id number User ID ↳ username string Username ↳ name string Display name ↳ first_name string First name ↳ last_name string Last name ↳ email string Email address ↳ url string User website URL ↳ description string User bio ↳ link string Author archive URL ↳ slug string User slug ↳ roles array User roles ↳ avatar_urls object Avatar URLs at different sizes totalnumber Total number of users totalPagesnumber Total number of result pages
Get a specific user from WordPress.com by ID
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) userIdnumber Yes The ID of the user to retrieve
Parameter Type Description userobject The retrieved user ↳ id number User ID ↳ username string Username ↳ name string Display name ↳ first_name string First name ↳ last_name string Last name ↳ email string Email address ↳ url string User website URL ↳ description string User bio ↳ link string Author archive URL ↳ slug string User slug ↳ roles array User roles ↳ avatar_urls object Avatar URLs at different sizes
Search across all content types in WordPress.com (posts, pages, media)
Inputs and outputsParameter Type Required Description siteIdstring Yes WordPress.com site ID or domain (e.g., 12345678 or mysite.wordpress.com) querystring Yes Search query perPagenumber No Number of results per request (default: 10, max: 100) pagenumber No Page number for pagination typestring No Filter by search index type: post, term, or post-format subtypestring No Filter by subtype within the selected type (e.g., post or page when type is post)
Parameter Type Description resultsarray Search results ↳ id number Content ID ↳ title string Content title ↳ url string Content URL ↳ type string Content type (post, term, or post-format) ↳ subtype string Subtype within the content type (e.g., post, page) totalnumber Total number of results totalPagesnumber Total number of result pages