Skip to content
SocialHelper
Join waitlist

WordPress data, from one API.

Connect WordPress once, then run its reports and lookups from your code or your AI agent through one REST API and MCP server.

Live Connects with credentials 7 tools

Tools

WordPress tools.

Call them with POST /api/v1/accounts/{id}/tools/{tool}, or let your agent use list_account_tools and run_account_tool over MCP. Results come back straight away.

site_info

read-only

Describe the connected WordPress site (name, tagline, address, time zone) and what the connected user may do there (roles, whether they can publish and upload).

list_posts

read-only

List the site's blog posts, newest first, with each post's ID, title, status, date, link, a plain-text excerpt, and category and tag IDs, plus the total count.

status string
Only posts with this status. "any" (the default) is every status except trash. any | draft | publish | future | pending | private default: 'any'
search string
Only posts matching these words.
categories array<integer>
Only posts in any of these category IDs (from list_categories).
per_page integer
Posts per page (1–100). default: 20
page integer
The page of results, starting at 1. default: 1

get_post

read-only

Get one post in full: title, content (the stored HTML when the user may edit the post, else the rendered HTML), excerpt, status, date, slug, link, categories, tags and featured image ID.

id* integer
The post ID, from list_posts.

create_post

makes changes

Create a blog post. It is saved as a draft unless status says otherwise, so it can be reviewed in WordPress before it goes live. Returns the post's ID, status, link and the WordPress editor link.

title* string
The post title (plain text).
content* string
The post body as HTML, up to 200,000 characters. Plain HTML opens in the block editor as a Classic block; block markup (<!-- wp:paragraph -->) stays as blocks.
excerpt string
A short summary shown in listings and feeds (plain text).
status string
draft (the default: saved for review in WordPress, not published), or publish (live now, or scheduled when date is in the future), future (scheduled for date, which is then required), pending (awaiting review) or private (visible only to the site's editors and administrators). draft | publish | future | pending | private default: 'draft'
date string
Publication date and time, ISO 8601 (e.g. "2026-10-12T09:00:00" in the site's time zone, or with an offset such as "Z" or "+02:00"). Required when status is future.
slug string
The URL slug, e.g. "my-first-post". WordPress makes it from the title when left out.
categories array<integer>
Category IDs from list_categories. Leave it out for the site's default category.
tags array<string>
Tag names, at most 20. Existing tags are reused; missing ones are created.
featured_image_url string
An http(s) URL of a JPEG, PNG, GIF or WebP image (up to 20 MB) to upload to the media library and set as the featured image.
featured_image_alt string
Alt text for the featured image.

update_post

makes changes

Change an existing post. Only the fields given are changed; setting status to publish makes the post live.

id* integer
The post ID, from list_posts.
title string
The post title (plain text).
content string
The post body as HTML, up to 200,000 characters. Plain HTML opens in the block editor as a Classic block; block markup (<!-- wp:paragraph -->) stays as blocks.
excerpt string
A short summary shown in listings and feeds (plain text).
status string
A new status: draft (unpublishes the post), or publish (live now, or scheduled when date is in the future), future (scheduled for date, which is then required), pending (awaiting review) or private (visible only to the site's editors and administrators). draft | publish | future | pending | private
date string
Publication date and time, ISO 8601 (e.g. "2026-10-12T09:00:00" in the site's time zone, or with an offset such as "Z" or "+02:00"). Required when status is future.
slug string
The URL slug, e.g. "my-first-post". WordPress makes it from the title when left out.
categories array<integer>
Category IDs from list_categories. Replaces the post's categories.
tags array<string>
Tag names, at most 20. Existing tags are reused; missing ones are created. Replaces the post's tags.
featured_image_url string
An http(s) URL of a JPEG, PNG, GIF or WebP image (up to 20 MB) to upload to the media library and set as the featured image.
featured_image_alt string
Alt text for the featured image.

list_categories

read-only

List the site's post categories, with each category's ID (use it in create_post), name, slug, parent and post count.

search string
Only terms whose name or slug contains this text.
per_page integer
How many to return (1–100). default: 100
page integer
The page of results, starting at 1. default: 1

list_tags

read-only

List the site's post tags, with each tag's ID, name, slug and post count.

search string
Only terms whose name or slug contains this text.
per_page integer
How many to return (1–100). default: 100
page integer
The page of results, starting at 1. default: 1

Connect

Connect WordPress once.

Open Accounts in the SocialHelper dashboard and choose WordPress. The connect form asks for the details below, and explains where to find each one.

Site address
Your WordPress site’s address. It must use https://.
Username
The WordPress username (or email) you log in with.
Application password
In WordPress, open Users → Profile and scroll to Application Passwords. Enter a name such as “SocialHelper”, click Add New Application Password and copy the password it shows (spaces are fine). Your login password won’t work.

SocialHelper calls WordPress’s official API for you. WordPress API reference ↗

FAQ

WordPress questions.

Do I need my own WordPress developer app?

No. You paste these from your own WordPress account into the connect form: site address, username, application password.

Can my AI agent use WordPress?

Yes. Connect the SocialHelper MCP server at https://socialhelper.app/mcp and your agent can list and run WordPress’s tools.

How much does it cost?

SocialHelper is free during early access, WordPress included.

Ship your WordPress integration today.

SocialHelper is invite-only during early access. Join the waitlist: the first 100 people to sign up get a Founding account with higher limits, free for 12 months.