RevContent CCPA API
CCPA consumer data access and deletion requests for publishers.
CCPA consumer data access and deletion requests for publishers.
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/revcontent-ccpa-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: RevContent CCPA API
description: CCPA consumer data request, retrieval and deletion endpoints for publishers.
version: '1.0'
contact:
name: RevContent Support
url: https://www.revcontent.com/resources/contact-us
email: developer@revcontent.com
servers:
- url: https://api.revcontent.io
description: RevContent Production API
security:
- BearerAuth: []
tags:
- name: CCPA
description: CCPA consumer data request, retrieval and deletion endpoints for publishers.
paths:
/stats/api/v1.0/data_requests/submit:
post:
operationId: postSubmitCCPARequest
summary: Submit CCPA Data Request
description: Submit CCPA request on behalf of user using client side request. The request should include credentials https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials
tags:
- CCPA
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
domain:
type: string
description: Domain on which widget exists
pub_id:
type: integer
description: Publisher Revcontent User Id
request_id:
type: string
description: Request ID
email:
type: string
description: Email
delete_data:
type: integer
description: Should Users Data be deleted? 1 for yes. Otherwise 0
required:
- domain
- pub_id
- request_id
- email
- delete_data
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
description: Requests successfully processed true/false
message:
type: string
description: Message
required:
- success
'401':
description: Missing or invalid access token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: json
label: Submit CCPA Data Request
source: "curl --location --request POST 'https://www.revcontent.com/stats/api/v1.0/data_requests/submit' \\\n --header 'Content-Type: application/x-www-form-urlencoded' \\\n --header 'Cookie: __ID=identifier_cookie_value' \\\n --data-urlencode 'domain=https://domain.com' \\\n --data-urlencode 'pub_id=1000' \\\n --data-urlencode 'request_id=abc123' \\\n --data-urlencode 'email=abc1234@gmail.com' \\\n --data-urlencode 'delete_data=1'"
/stats/api/v1.0/data_requests/data:
post:
operationId: postUserData
summary: CCPA Data Request
description: Get user's data on behalf of user for submitted ccpa data requests. If request_id is wrong or already resolved success=false will be returned.
tags:
- CCPA
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
request_id:
type: string
description: Request ID
required:
- request_id
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
description: Requests successfully processed true/false
status:
type: string
description: Pending/Ready
csv:
type: array
items:
type: string
description: List of data csv's
message:
type: string
description: Message
required:
- success
'401':
description: Missing or invalid access token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Error 500
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
errors:
- code: 500
title: There was a problem serving the requested information. Try again, the problem may be temporary. Please contact support if the problem persists.
x-codeSamples:
- lang: json
label: Get Request Data
source: "curl -X POST \\\n -H \"Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d\" \\\n -H \"Content-Type: application/x-www-form-urlencoded\" \\\n -H \"Cache-Control: no-cache\" \\\n -d '{\"request_id\": \"XXXXXXXX\"}' \\\n 'https://api.revcontent.io/stats/api/v1.0/data_requests/data'"
/stats/api/v1.0/data_requests/multiple_data:
post:
operationId: postUsersData
summary: CCPA Multiple Data Request
description: Get multiple user's data on behalf of users for submitted ccpa data requests. Requests object in response will have request_id and their respective data. If request_id missing in requests key then consider it failed either because request not registered or already resolved.
tags:
- CCPA
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
request_ids:
type: string
description: Request ID's (separated by comma)
required:
- request_ids
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
description: Requests successfully processed true/false
requests:
type: object
description: Request Objects
properties:
request_id:
type: object
description: Request Objects for request with id request_id
properties:
csv:
type: array
items:
type: string
description: Request's List of data csv's
status:
type: string
description: Request's status
required:
- csv
- status
message:
type: string
description: Message
required:
- success
example:
success: true
requests:
XXXXXXXX:
status: ready
csv:
- https://revcontent-s1.s3.amazonaws.com/data_privacy_requests/42fd1956-664f-43a7-a13d-eaede8d4050d/impressions/de2fdd6f-e95f-40db-8464-ee4c7bcd745a.csv
- https://revcontent-s1.s3.amazonaws.com/data_privacy_requests/42fd1956-664f-43a7-a13d-eaede8d4050d/views/f20760d7-dbb2-48de-b4e8-bbd3f61d02ea.csv
- https://revcontent-s1.s3.amazonaws.com/data_privacy_requests/42fd1956-664f-43a7-a13d-eaede8d4050d/clicks/447b3a56-5a7e-43a0-85b8-32431b9d7238.csv
YYYYYYYY:
status: pending
'401':
description: Missing or invalid access token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Error 500
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
errors:
- code: 500
title: There was a problem serving the requested information. Try again, the problem may be temporary. Please contact support if the problem persists.
x-codeSamples:
- lang: json
label: Get Multiple Requests Data
source: "curl -X POST \\\n -H \"Authorization: Bearer e62a04f681ba57d0120f8f584b688e31f04cf41d\" \\\n -H \"Content-Type: application/x-www-form-urlencoded\" \\\n -H \"Cache-Control: no-cache\" \\\n -d '{\"request_ids\": \"XXXXXXXX,YYYYYYYY\"}' \\\n 'https://www.revcontent.com/stats/api/v1.0/data_requests/multiple_data'"
components:
schemas:
Error:
type: object
description: RevContent error envelope.
properties:
success:
type: boolean
const: false
errors:
type: array
items:
type: object
properties:
code:
type: integer
description: HTTP-aligned error code.
title:
type: string
description: Short error title.
detail:
type: string
description: Human readable error detail.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: OAuth 2.0 client-credentials access token obtained from POST /oauth/token. Valid for 24 hours.
x-source: https://api.revcontent.io/docs/stats/api_data.json
x-source-format: apiDoc 0.17.7
x-generated: '2026-08-13'
x-method: derived