# Data Overview

Coupler.io pulls data from the WordPress REST API across 15 entities, covering everything from published content to site configuration. Here's a breakdown of what's available in each entity and how you can use it.

## Entities overview

| Entity         | Best for                                                           |
| -------------- | ------------------------------------------------------------------ |
| Posts          | Content audits, editorial calendars, publishing frequency analysis |
| Pages          | Site structure mapping, page inventory                             |
| Page revisions | Edit history and version tracking                                  |
| Comments       | Engagement analysis, moderation tracking                           |
| Users          | Author activity, role audits                                       |
| Categories     | Content taxonomy reporting                                         |
| Tags           | Tag usage and distribution                                         |
| Taxonomies     | Custom taxonomy structure                                          |
| Types          | Custom post type inventory                                         |
| Media          | Media library audits, file usage                                   |
| Editor blocks  | Block usage analysis                                               |
| Plugins        | Plugin inventory and status monitoring                             |
| Themes         | Theme tracking                                                     |
| Statuses       | Post status distribution                                           |
| Settings       | Site configuration snapshot                                        |

{% hint style="info" %}
The **start date** filter applies to Pages, Comments, Media, and Editor blocks. For all other entities (Posts, Users, Categories, etc.), all available records are always returned regardless of the date range you set.
{% endhint %}

## Posts

#### Fields

| Field           | Description                                  |
| --------------- | -------------------------------------------- |
| id              | Unique post ID                               |
| date            | Publish date and time                        |
| date\_gmt       | Publish date in GMT                          |
| modified        | Last modified date                           |
| slug            | URL-friendly post identifier                 |
| status          | Post status (publish, draft, pending, etc.)  |
| type            | Post type                                    |
| link            | Full URL to the post                         |
| title           | Post title (rendered)                        |
| content         | Full post content (rendered HTML)            |
| excerpt         | Post excerpt                                 |
| author          | Author user ID                               |
| featured\_media | Featured image media ID                      |
| comment\_status | Whether comments are open or closed          |
| categories      | List of category IDs                         |
| tags            | List of tag IDs                              |
| format          | Post format (standard, video, gallery, etc.) |

## Pages

#### Fields

| Field       | Description                       |
| ----------- | --------------------------------- |
| id          | Unique page ID                    |
| date        | Creation date                     |
| modified    | Last modified date                |
| slug        | URL slug                          |
| status      | Page status                       |
| title       | Page title                        |
| content     | Page content (rendered HTML)      |
| author      | Author user ID                    |
| parent      | Parent page ID (for nested pages) |
| menu\_order | Page order in menus               |
| template    | Page template in use              |

## Comments

#### Fields

| Field         | Description                               |
| ------------- | ----------------------------------------- |
| id            | Comment ID                                |
| post          | Post ID the comment belongs to            |
| author\_name  | Display name of commenter                 |
| author\_email | Email address of commenter                |
| date          | Comment submission date                   |
| content       | Comment content                           |
| status        | Approval status (approved, pending, spam) |
| type          | Comment type                              |
| parent        | Parent comment ID (for threaded replies)  |

## Users

#### Fields

| Field            | Description                                          |
| ---------------- | ---------------------------------------------------- |
| id               | User ID                                              |
| name             | Display name                                         |
| url              | User website URL                                     |
| description      | User bio                                             |
| slug             | URL-friendly username                                |
| registered\_date | Registration date                                    |
| roles            | Assigned roles (administrator, editor, author, etc.) |
| capabilities     | User capability flags                                |

## Media

#### Fields

| Field          | Description                                   |
| -------------- | --------------------------------------------- |
| id             | Media item ID                                 |
| date           | Upload date                                   |
| slug           | Media slug                                    |
| status         | Media status                                  |
| title          | Media title                                   |
| author         | Uploader user ID                              |
| source\_url    | Direct URL to the file                        |
| media\_type    | Type (image, file, etc.)                      |
| mime\_type     | MIME type (image/jpeg, application/pdf, etc.) |
| media\_details | Width, height, file size, and generated sizes |
| post           | Post the media is attached to                 |

## Common metric combinations

* **Posts + Users** — Join on `author` ID to see publishing activity per author. Use the **Join** transformation in Coupler.io to merge these two entities in a single data flow.
* **Posts + Categories** — Map category IDs to names for content distribution reporting.
* **Comments + Posts** — Join on `post` ID to analyze which content drives the most engagement.
* **Multiple WordPress sites** — Use the **Append** transformation to stack posts or pages from two or more sites into a single unified dataset.

## Use cases by role

{% tabs %}
{% tab title="Content teams" %}

* Audit your full post library with status, author, and category in one spreadsheet
* Track publishing cadence — how many posts go live per week or month
* Identify pages that haven't been updated recently by sorting on the `modified` field
* Export comments to analyze reader sentiment or flag spam patterns
  {% endtab %}

{% tab title="Marketers" %}

* Combine WordPress posts data with Google Analytics in Coupler.io to connect content to traffic
* Export posts to ChatGPT or Claude for automatic SEO analysis, meta description generation, or content gap identification
* Monitor tag and category usage to ensure your taxonomy stays consistent over time
  {% endtab %}

{% tab title="Site administrators" %}

* Pull a plugins inventory to track which plugins are active, inactive, or need updates
* Audit user roles and capabilities to keep access permissions in check
* Monitor media library growth by exporting the Media entity and filtering by date
* Use the Settings entity to snapshot site configuration before making changes
  {% endtab %}
  {% endtabs %}

## Platform-specific notes

* The WordPress REST API must be publicly accessible for Coupler.io to connect. Security plugins that block REST API access will prevent the connection.
* If your site uses Cloudflare or another CDN/WAF, its bot protection may block Coupler.io requests and return a non-JSON error response.
* Custom post types created by plugins or themes are not included in the **Posts** entity by default — they appear under **Types** but may need custom API endpoints to retrieve their content.
* Application Passwords require WordPress 5.6 or later. On older versions, you'll need a plugin like "Application Passwords" to enable this feature.
* The `content` and `excerpt` fields in Posts and Pages return rendered HTML. If you need plain text, you'll need to strip HTML tags in your destination.
