Automattic Subscribers API
The subscribers API from Automattic — 19 operation(s) for subscribers.
The subscribers API from Automattic — 19 operation(s) for subscribers.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/automattic-subscribers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: WordPress.com REST API — wpcom/v2 namespace Subscribers API
version: v2
description: Derived by API Evangelist from the WordPress.com REST API route index published at https://public-api.wordpress.com/wpcom/v2/. Paths, HTTP methods, and parameter names/types/descriptions/defaults are taken verbatim from that index. Response schemas are not published in the route index, so successful responses are described but not schematised; the error envelope was observed live on public-api.wordpress.com.
contact:
name: Automattic
url: https://developer.wordpress.com/docs/api/
x-derived-from: https://public-api.wordpress.com/wpcom/v2/
x-derived-by: API Evangelist enrichment pipeline
servers:
- url: https://public-api.wordpress.com
security:
- bearerAuth: []
tags:
- name: subscribers
paths:
/wpcom/v2/sites/{wpcom_site}/subscribers:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribers
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: page
in: query
required: false
schema:
type: string
default: 1
description: The current page.
- name: per_page
in: query
required: false
schema:
type: string
default: 100
description: The amount of items to show per page.
- name: search
in: query
required: false
schema:
type: string
description: Search for subscribers
- name: sort
in: query
required: false
schema:
type: string
enum:
- date_subscribed
- email
- name
- plan
- subscription_status
default: date_subscribed
description: Sort subscribers by a specific field
- name: sort_order
in: query
required: false
schema:
type: string
enum:
- asc
- desc
description: Sort order
- name: filter
in: query
required: false
schema:
type: string
enum:
- all
- wpcom
- email
- paid
- comp
- free
- email_subscriber
- reader_subscriber
- unconfirmed_subscriber
- blocked_subscriber
description: Filter subscribers by a specific subscriber type
- name: filters
in: query
required: false
schema:
type: array
items:
type: string
description: Array of filters to apply (combined with AND logic). If provided, overrides the single filter parameter.
- name: use_new_helper
in: query
required: false
schema:
type: boolean
default: false
description: Use the new helper to get subscribers
- name: no_cache
in: query
required: false
schema:
type: boolean
default: false
description: Do not use the cache
- name: include
in: query
required: false
schema:
type: array
default: []
items:
type: string
description: An array of additional fields to include
/wpcom/v2/sites/{wpcom_site}/subscribers/add:
post:
operationId: postWpcomV2SitesbyWpcomSiteSubscribersAdd
summary: POST /wpcom/v2/sites/{wpcom_site}/subscribers/add
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
emails:
type: array
items:
type: string
required:
- emails
/wpcom/v2/sites/{wpcom_site}/subscribers/comp:
post:
operationId: postWpcomV2SitesbyWpcomSiteSubscribersComp
summary: POST /wpcom/v2/sites/{wpcom_site}/subscribers/comp
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
plan_id:
type: integer
no_expiration:
type: boolean
default: false
required:
- user_id
- plan_id
/wpcom/v2/sites/{wpcom_site}/subscribers/count:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersCount
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/count
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/subscribers/counts:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersCounts
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/counts
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: subscription_status
in: query
required: false
schema:
type: string
enum:
- all
- active
- inactive
- pending
default: active
description: Filter subscriptions based on status
- name: subscriber_status
in: query
required: false
schema:
type: string
enum:
- all
- active
- blocked
default: all
description: Filter subscribers based on status
/wpcom/v2/sites/{wpcom_site}/subscribers/import:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersImport
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/import
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
post:
operationId: postWpcomV2SitesbyWpcomSiteSubscribersImport
summary: POST /wpcom/v2/sites/{wpcom_site}/subscribers/import
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
emails:
type: array
items: {}
description: A list of emails to add as subscribers to the current site.
categories:
type: array
items: {}
description: A list of category IDs the emails should be subscribed to.
parse_only:
type: boolean
default: false
description: If true, the import will only parse the file and return the number of subscribers that would be imported.
/wpcom/v2/sites/{wpcom_site}/subscribers/import/reset-state:
post:
operationId: postWpcomV2SitesbyWpcomSiteSubscribersImportResetState
summary: POST /wpcom/v2/sites/{wpcom_site}/subscribers/import/reset-state
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/subscribers/import/reset_state:
post:
operationId: postWpcomV2SitesbyWpcomSiteSubscribersImportResetState2
summary: POST /wpcom/v2/sites/{wpcom_site}/subscribers/import/reset_state
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/subscribers/import/{id}:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersImportbyId
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/import/{id}
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/subscribers/individual:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersIndividual
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/individual
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: subscription_id
in: query
required: false
schema:
type: integer
default: 0
- name: user_id
in: query
required: false
schema:
type: integer
default: 0
/wpcom/v2/sites/{wpcom_site}/subscribers/individual-stats:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersIndividualStats
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/individual-stats
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: subscription_id
in: query
required: false
schema:
type: integer
default: 0
- name: user_id
in: query
required: false
schema:
type: integer
default: 0
/wpcom/v2/sites/{wpcom_site}/subscribers/list:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersList
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/list
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: page
in: query
required: false
schema:
type: integer
default: 1
- name: per_page
in: query
required: false
schema:
type: integer
default: 10
- name: sort
in: query
required: false
schema:
type: string
enum:
- date_subscribed
- name
- plan
- subscription_status
default: date_subscribed
- name: sort_order
in: query
required: false
schema:
type: string
enum:
- asc
- desc
default: desc
- name: search
in: query
required: false
schema:
type: string
default: ''
- name: filters
in: query
required: false
schema:
type: array
default:
- all
items:
type: string
- name: use_new_helper
in: query
required: false
schema:
type: boolean
default: true
/wpcom/v2/sites/{wpcom_site}/subscribers/products:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersProducts
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/products
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/subscribers/remove:
post:
operationId: postWpcomV2SitesbyWpcomSiteSubscribersRemove
summary: POST /wpcom/v2/sites/{wpcom_site}/subscribers/remove
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
default: 0
email_subscription_id:
type: integer
default: 0
paid_subscription_ids:
type: array
default: []
items:
type: string
/wpcom/v2/sites/{wpcom_site}/subscribers/remove-comp:
post:
operationId: postWpcomV2SitesbyWpcomSiteSubscribersRemoveComp
summary: POST /wpcom/v2/sites/{wpcom_site}/subscribers/remove-comp
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
comp_id:
type: integer
required:
- comp_id
/wpcom/v2/sites/{wpcom_site}/subscribers/stats:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersStats
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/stats
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: subscription_id
in: query
required: false
schema:
type: integer
default: 0
- name: user_id
in: query
required: false
schema:
type: integer
default: 0
/wpcom/v2/sites/{wpcom_site}/subscribers/totals:
get:
operationId: getWpcomV2SitesbyWpcomSiteSubscribersTotals
summary: GET /wpcom/v2/sites/{wpcom_site}/subscribers/totals
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
/wpcom/v2/subscribers/emails/resend/subscription-confirmation:
post:
operationId: postWpcomV2SubscribersEmailsResendSubscriptionConfirmation
summary: POST /wpcom/v2/subscribers/emails/resend/subscription-confirmation
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
email_address:
type: string
format: email
description: The email address used to subscribe to the blog
post_id:
type: string
description: The post ID. Only available if the subscription was made using a subscription block in a post
key:
type: string
description: The activation key of the original subscription confirmation email
required:
- email_address
- key
/wpcom/v2/subscribers/emails/resend/subscription-management:
post:
operationId: postWpcomV2SubscribersEmailsResendSubscriptionManagement
summary: POST /wpcom/v2/subscribers/emails/resend/subscription-management
tags:
- subscribers
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
email_address:
type: string
format: email
description: The email address used to request the manage link
token:
type: string
description: Expired token used to check the validity of the email parameter
required:
- email_address
- token
components:
schemas:
WPRestError:
type: object
description: WordPress REST API error envelope (observed on public-api.wordpress.com).
properties:
code:
type: string
example: rest_unauthorized
message:
type: string
example: Authentication required.
data:
type: object
properties:
status:
type: integer
example: 401
securitySchemes:
oauth2:
type: oauth2
description: WordPress.com OAuth 2.1, per https://public-api.wordpress.com/.well-known/openid-configuration
flows:
authorizationCode:
authorizationUrl: https://public-api.wordpress.com/oauth2-1/authorize
tokenUrl: https://public-api.wordpress.com/oauth2-1/token
refreshUrl: https://public-api.wordpress.com/oauth2-1/token
scopes:
global: ''
auth: ''
openid: ''
profile: ''
email: ''
users: ''
sites: ''
posts: ''
comments: ''
taxonomy: ''
follow: ''
sharing: ''
freshly-pressed: ''
notifications: ''
insights: ''
read: ''
stats: ''
media: ''
menus: ''
batch: ''
videos: ''
bearerAuth:
type: http
scheme: bearer