Publish posts from a JSON API using the built-in parser (no custom code required).
Your source returns JSON like this:
{
"posts": [
{
"title": "Hello from the API",
"content": "<p>Body HTML is allowed and sanitized.</p>",
"date": "2026-10-05T12:00:00Z",
"categories": ["News"],
"tags": ["api", "json"],
"image": "https://example.com/images/hello.jpg"
}
]
}Supported top-level shapes: a bare array of posts, or objects with posts, data, or items. WordPress REST (title.rendered / content.rendered) is also accepted.
- Install and activate the plugin (see Installation).
- Open Settings → Content Extractor.
- Set Source URL to your JSON endpoint, for example:
- Custom API:
https://api.example.com/posts - Another WordPress site:
https://wordpress.org/news/wp-json/wp/v2/posts
- Custom API:
- Save changes.
- Wait for the 30-minute cron, or trigger manually:
if ( function_exists( 'ce_extract_content' ) ) {
ce_extract_content();
}- New posts appear under Posts in wp-admin
- Duplicates with the same title are skipped
- Featured images attach when
image(or resolved REST media) URLs are reachable - With
WP_DEBUGenabled, failures are written to the PHP error log
- The plugin requests
?page=Non the configured URL for batch pagination - Default batch size is 5 posts per run
- Extend behavior with filters such as
ce_post_data,ce_post_status, andce_post_author(see API)