Publisher Integration Guide
ARCP lets you make your content available to AI applications while maintaining full control over your content, ads, and monetization. You receive signed usage receipts for every AI-rendered view.
What you need to implement
As an ARCP publisher, you host three endpoints:
GET /.well-known/arcp— publisher discovery metadataGET /v1/catalog— list available contentPOST /v1/query— respond to search queriesGET /v1/render— render content (with token verification)
Discovery endpoint
The discovery endpoint tells the ARCP router about your publisher:
// GET /.well-known/arcp
{
"publisher_id": "your-publisher-id",
"display_name": "Your Publication",
"query_url": "https://your-site.com/v1/query",
"render_base_url": "https://your-site.com/v1/render",
"jwks_url": "https://your-site.com/v1/jwks",
"auth_mode": "ARCP_MANAGED"
}Query endpoint
Receive search queries and return relevant content:
// POST /v1/query
// Request:
{
"query": "best smartphones 2026",
"profile": "MVP",
"user_id": "user-123"
}
// Response:
{
"publisher_id": "your-publisher-id",
"items": [
{
"content_id": "article-slug-here",
"title": "Article Title",
"summary": "Brief summary...",
"source_url": "https://your-site.com/article",
"published_at": "2026-02-22T10:00:00Z",
"claims": [
{
"claim_id": "claim-1",
"text": "Specific factual claim",
"confidence": 0.92,
"source_url": "https://your-site.com/article"
}
]
}
]
}Render endpoint
The render endpoint serves your content to users who click through from an AI response. Verify the ARCP render token before serving content:
// GET /v1/render?token=<signed-jwt>&content_id=<id>
// 1. Verify the JWT token using the router's JWKS
// 2. Check the content_id claim matches
// 3. Serve your content (with ads, paywall, etc.)
// 4. The token contains: aud (your publisher_id), sub (user_id), rightsAdd a /connect page
The easiest way to let users link your publication to Clevername and other AI tools is to drop the official @arcp-protocol/connect React component onto your site.
npm install @arcp-protocol/connect// app/connect/page.tsx (Next.js App Router)
import { ArcpConnectPage } from '@arcp-protocol/connect';
export default function ConnectPage() {
return (
<ArcpConnectPage
publisherId="your-publisher-id"
publisherName="Your Publication"
publisherDomain="your-site.com"
publisherDescription="Short description of your content"
contentDescription="news articles"
exampleQueries={[
'What are the top stories today?',
'Summarize the latest tech news',
]}
/>
);
}The component handles everything: Clevername one-click connect, manual MCP config, self-serve API key generation, and protocol docs links.
Register your publisher
To register as an ARCP publisher, contact publishers@arcp-protocol.com or submit via the registry API once self-registration is available.