WordPress Integration
"Auto-Publish to WordPress from Anywhere" by John Rippy | johnrippy.link
🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
---
Seamless WordPress Publishing via REST API
Stop manually copying content into WordPress. This actor auto-publishes posts, pages, and custom post types directly via the WordPress REST API. What can you do with this?- Create blog posts with featured images
- Publish pages with custom templates
- Update existing content
- Schedule posts for future publishing
- Support for custom post types (WooCommerce products, portfolios, etc.)
- Batch publish multiple pieces at once
---
Why Use This?
1. Connect Any Data Source to WordPress
Combine with other Apify actors to build powerful content pipelines:
- AI-generated content → WordPress posts
- Scraped news articles → WordPress aggregation site
- Product data → WooCommerce products
- Social media content → Cross-posted blog posts
2. No Plugin Required
Uses native WordPress REST API. Works with any WordPress site with REST API enabled (WordPress 4.7+).
3. Full Content Control
- Set categories and tags
- Add featured images
- Set meta fields (SEO plugins, custom fields)
- Control post status (draft, publish, schedule)
- Custom post types supported
4. Webhook Notifications
Get notified when posts are published. Integrate with Zapier, Make, n8n.
---
Quick Start Examples
Example 1: Publish a Blog Post
{
"action": "create_post",
"wordpressUrl": "https://your-site.com",
"authType": "application_password",
"username": "your-username",
"applicationPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
"posts": [
{
"title": "My First Automated Post",
"content": "<p>This post was created automatically via API!</p>",
"status": "publish",
"categories": ["Technology", "Automation"],
"tags": ["apify", "wordpress", "api"]
}
]
}
Example 2: Schedule a Post for Later
{
"action": "create_post",
"wordpressUrl": "https://your-site.com",
"authType": "application_password",
"username": "admin",
"applicationPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
"posts": [
{
"title": "Scheduled Post",
"content": "<p>This will go live on New Year's Day!</p>",
"status": "future",
"date": "2025-01-01T09:00:00"
}
]
}
Example 3: Create Page with Featured Image
{
"action": "create_page",
"wordpressUrl": "https://your-site.com",
"authType": "application_password",
"username": "admin",
"applicationPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
"posts": [
{
"title": "About Us",
"content": "<h2>Our Story</h2><p>We started in 2020...</p>",
"status": "publish",
"featuredImageUrl": "https://example.com/team-photo.jpg",
"template": "page-about"
}
]
}
Example 4: Batch Create Multiple Posts
{
"action": "create_post",
"wordpressUrl": "https://your-site.com",
"authType": "application_password",
"username": "admin",
"applicationPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
"posts": [
{
"title": "Post 1",
"content": "<p>First post content...</p>",
"status": "draft"
},
{
"title": "Post 2",
"content": "<p>Second post content...</p>",
"status": "draft"
},
{
"title": "Post 3",
"content": "<p>Third post content...</p>",
"status": "draft"
}
]
}
---
Authentication Methods
Application Passwords (Recommended)
1. Go to Users → Profile in WordPress admin
2. Scroll to Application Passwords
3. Enter a name (e.g., "Apify Integration")
4. Click Add New Application Password
5. Copy the generated password
{
"authType": "application_password",
"username": "your-username",
"applicationPassword": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
Basic Auth (with Plugin)
Requires the Application Passwords plugin for WordPress < 5.6.
{
"authType": "basic",
"username": "your-username",
"password": "your-password"
}
JWT Token
Requires the JWT Authentication plugin.
{
"authType": "jwt",
"jwtToken": "your-jwt-token"
}
---
Input Parameters
Post Object Properties
---
Output Format
{
"success": true,
"action": "create_post",
"totalPosts": 3,
"created": 3,
"failed": 0,
"results": [
{
"title": "My First Automated Post",
"postId": 1234,
"postType": "post",
"status": "publish",
"url": "https://your-site.com/my-first-automated-post/",
"publishedAt": "2025-12-23T12:00:00.000Z"
}
]
}
---
Pay-Per-Event Pricing
You only pay for what you use. No monthly fees. No minimums.Cost Examples
---
Use Cases
Content Automation
- AI content pipeline: Generate → publish automatically
- News aggregation: Scrape → format → publish
- Content repurposing: Transform and publish across sites
Blog Networks
- Multi-site publishing: Push content to multiple WordPress sites
- Syndication: Republish content across network
- Guest posting: Automate contributor workflow
E-commerce (WooCommerce)
- Product imports: Create products from data sources
- Inventory updates: Sync stock levels
- Price updates: Batch update pricing
SEO & Marketing
- Programmatic SEO: Create location/keyword pages at scale
- Landing pages: Generate from templates
- A/B testing: Create page variants
---
Webhook Integration
Webhook Payload
{
"event": "publish_completed",
"timestamp": "2025-12-23T12:00:00.000Z",
"actor": "wordpress-integration",
"wordpressSite": "https://your-site.com",
"action": "create_post",
"totalPosts": 5,
"created": 5,
"failed": 0,
"results": [...]
}
Common Automations
- Slack notification: Alert team when posts go live
- Google Sheets: Log all published content
- Social sharing: Auto-post to social when WordPress publishes
- Analytics tracking: Log publish events
---
API Integration
Using the Apify API (JavaScript)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('localhowl/wordpress-integration').call({
action: 'create_post',
wordpressUrl: 'https://your-site.com',
authType: 'application_password',
username: 'admin',
applicationPassword: 'xxxx xxxx xxxx xxxx xxxx xxxx',
posts: [
{
title: 'Automated Post',
content: '<p>Published via API</p>',
status: 'publish'
}
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
Using cURL
curl -X POST "https://api.apify.com/v2/acts/localhowl~wordpress-integration/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"action": "create_post",
"wordpressUrl": "https://your-site.com",
"authType": "application_password",
"username": "admin",
"applicationPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
"posts": [
{
"title": "API Test Post",
"content": "<p>Created via cURL</p>",
"status": "draft"
}
]
}'
---
Requirements
- WordPress 4.7+ (REST API enabled)
- Application Passwords enabled (WordPress 5.6+ has this built-in)
- User with appropriate publishing permissions
- REST API accessible (not blocked by security plugins)
---
Troubleshooting
---
Limitations
- Rate limits: WordPress may limit rapid requests
- Image size: Large images may timeout
- Custom fields: Requires meta fields registered in WordPress
- Multisite: Each site needs separate configuration
---
Support
- Email: john@johnrippy.link
🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
- GitHub: Report issues on the repository
---
Built by John Rippy | johnrippy.link🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
---
Keywords
wordpress api, wordpress automation, wordpress rest api, auto publish wordpress, wordpress integration, blog automation, content automation, wordpress headless cms, wordpress programmatic publishing, woocommerce api, batch wordpress publishing, wordpress webhook, zapier wordpress, make wordpress