API Docs

Publisher Revenue Audit API

Run public publisher revenue screens, fetch Sulvo reports, and manage approved publisher inventory through the same API surface used by the CLI and MCP server.

Hosted Base

https://publisher-revenue-audit.sulvo.com/v1/publisher-revenue-audits CLI and MCP setup

Basics

Base URLs

The public audit endpoint is intentionally unauthenticated. Sulvo account reports and inventory calls use a dashboard-generated API key.

Public audit API

POST
https://publisher-revenue-audit.sulvo.com/v1/publisher-revenue-audits

Sulvo account API

Bearer API key
https://surge.sulvo.com/api

Hosted MCP endpoint

MCP
https://publisher-revenue-audit.sulvo.com/mcp

Public Endpoint

Run a revenue audit

Use this endpoint for a directional public-evidence screen of a publisher domain. The response is not proof of revenue loss or guaranteed lift; validate findings against publisher-side reporting.

cURL
curl -X POST https://publisher-revenue-audit.sulvo.com/v1/publisher-revenue-audits \
  -H "content-type: application/json" \
  -d '{
    "tool": "run_publisher_revenue_audit",
    "input": {
      "domain": "example.com",
      "vertical": "news",
      "options": {
        "format": "json",
        "compact": true,
        "maxPages": 2,
        "enablePageSpeed": true
      }
    }
  }'
Field Notes
input.domainRequired publisher domain or public host. Bare domains are normalized to HTTPS. Private targets, raw IPs, internal hosts, and non-standard ports are rejected.
input.verticalOptional. Accepts news, sports, entertainment, technology, education, gaming, or other.
input.metricsOptional publisher-supplied dashboard context such as fill rate, viewability, average CPM, revenue per session, monthly pageviews, or monthly sessions.
input.optionsOptional output and collection controls, including format, compact, maxPages, includeEvidence, enableBrowser, includeScreenshots, enablePageSpeed, pageSpeedStrategy, concurrency, whiteLabel, and partnerId.

Authentication

Use a Sulvo API key for account APIs

Generate an API key in the Sulvo dashboard under Account Settings. Send it as a Bearer token on Sulvo account API requests.

Authorization header
Authorization: Bearer $SULVO_API_KEY

reports:read

Required for report exports and saved-report listing.

reports:write

Required to create, update, run, or delete advanced reports.

inventory:write

Required for ad-unit creation and deletion. The account must be approved and own the inventory.

Reports

Read report endpoints

Read reports use GET requests under the Sulvo account API base. Date-only values are interpreted as full UTC-day bounds.

Report request
curl "https://surge.sulvo.com/api/v1/reports/by-date?start=2026-06-01&end=2026-06-07&domains=example.com" \
  -H "authorization: Bearer $SULVO_API_KEY" \
  -H "accept: application/json"
Method Path Notes
GET/api/v1/reports/by-dateDaily performance summary. Supports date, domain, ad root, and provider filters.
GET/api/v1/reports/by-date-and-ad-unitDaily performance grouped by ad unit.
GET/api/v1/reports/by-domain-and-ad-unitDomain and ad-unit performance breakdown.
GET/api/v1/reports/bot-filteringBot filtering report for account traffic quality review.
GET/api/v1/reports/bot-scoresBot score reporting by date and related dimensions.
GET/api/v1/reports/invalid-activityInvalid activity reporting. No standard date/domain query is required.
GET/api/v1/reports/direct-bidder-analysisDirect bidder report. Requires directBidder and can include start/end.
GET/api/v1/inventory/ad-units-by-domainAd-unit inventory grouped by domain.

Common query parameters: start, end, repeatable domains, repeatable adRoots, and adProvider. Direct bidder analysis also requires directBidder.

Advanced Reports

Create scheduled or immediate email reports

Advanced reports can run immediately or recur on a schedule. They are delivered by email rather than returned inline.

Save advanced report
curl -X POST https://surge.sulvo.com/api/v2/reports/save-advanced-report \
  -H "authorization: Bearer $SULVO_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "reportType": "dimensions",
    "toAddress": "publisher@example.com",
    "immediateRun": true,
    "domains": ["example.com"],
    "dimensions": ["country", "device"],
    "start": "2026-06-01",
    "end": "2026-06-07"
  }'
Method Path Notes
GET/api/v2/reports/advanced-reportsList saved advanced reports for the authenticated account.
POST/api/v2/reports/save-advanced-reportCreate or update an advanced report. Requires reportType, toAddress, immediateRun, and at least one adRoots or domains target.
DELETE/api/v2/reports/delete-advanced-report/{reportId}Delete a saved advanced report by id.

Report types

adUnit, dimensions, customData

Dimensions

country, device, os

Frequency

daily, weekly, biweekly, monthly

Inventory

Create and delete approved ad units

Inventory writes require an approved Sulvo account and an owner-minted API key with inventory:write scope.

Create ad unit
curl -X PUT https://surge.sulvo.com/api/v2/inventory/unit \
  -H "authorization: Bearer $SULVO_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "domain": "example.com",
    "type": "display",
    "size": { "width": 300, "height": 250 }
  }'
Method Path Notes
PUT/api/v2/inventory/unitCreate a single ad unit with domain, type, optional size, placement, custom name, and focusedAd settings.
PUT/api/v2/inventory/interstitial-unitsCreate desktop and/or mobile interstitial units for a domain.
PUT/api/v2/inventory/auto-sticky-unitsCreate sticky display and/or sticky mobile units for a domain.
DELETE/api/v2/inventory/unit/{adId}Delete an ad unit owned by the authenticated account.

Supported ad unit types

displaynative_multisticky_displaysticky_mobilesticky_display_customsticky_mobile_customsticky_videointerstitial_desktopinterstitial_mobileofferwall

Errors

Error handling

Non-2xx audit responses and Sulvo account API failures return JSON bodies designed for agent and CLI clients.

401

The API key is missing, invalid, or expired for account API calls. The public audit endpoint does not require a key.

403

The key authenticated but lacks the required scope, the account is not approved, or the resource belongs to a different account.

503 / 504

The public audit service is saturated or the audit timed out. Retry later and respect Retry-After when present.

Audit error envelope
{
  "error": {
    "code": "audit_capacity_exceeded",
    "message": "Audit capacity is currently exhausted. Retry later."
  }
}

MCP and CLI

Prefer a packaged client?

The npm package and MCP setup call these endpoints for you and expose the same audit, report, and inventory workflows to compatible AI clients.

View setup

Sulvo는 디지털 퍼블리셔의 광고 수익 극대화를 돕는 글로벌 퍼블리셔 중심 인텔리전스 플랫폼입니다. 당사의 특허 기술은 퍼블리셔가 노출 손실과 광고 수익 누락을 유발하는 가장 큰 영향의 오류를 웹사이트에서 찾아내도록 돕습니다. Sulvo의 기술은 잘못 구성된 사이트 코드, 최적화되지 않은 광고 단위 구성, 오래된 구성 요소로 인해 손실된 노출을 복구할 수 있습니다. 또한 Sulvo는 광고 차단기, 봇, AI 에이전트로부터 광고 수익을 복구하고, 사이트 감사를 통해 사이트 성능을 최적화하며, 엔터프라이즈 등급의 봇 필터링을 제공합니다. 이 모든 것이 월간 2억 5천만 광고 노출까지 광고 서빙 수수료 없이 제공됩니다. 전 세계 50개 이상의 언어로 엔터프라이즈 퍼블리셔에게 신뢰받고 있습니다.

© by Sulvo Europe OÜ. 모든 권리 보유.

Chrome, Ad Manager, AdSense 및 Google은 Google LLC의 등록 상표입니다.

이용약관 · 개인정보 보호정책 · SMS 개인정보 보호정책
Google Certified Publishing Partner