Coverage API

Use the Coverage API to analyze media coverage data and gain insights.

Authentication

All API requests require an API key in the PULITZER-API-KEY header.

Header Setup

PULITZER-API-KEY: YOUR_API_KEY

Getting API Key

You can obtain an API key from the PulitzerAI dashboard.

  • Navigate to Settings after logging into the dashboard
  • Create a new key in the API Key Management section
  • Store the generated key securely
curl -X GET "https://api.pulitzer.ai/live/openapi/coverage/overview" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"


Coverage Overview

Retrieve coverage overview for all user workspaces.

GET https://api.pulitzer.ai/live/openapi/coverage/overview

Response

{
  "status": "SUCCESS",
  "message": "Request processed successfully.",
  "total_workspaces": 3,
  "total_coverage": 1245,
  "top_workspace": "Samsung Electronics PR Team",
  "workspaces": [
    {
      "workspace_id": 1,
      "workspace_name": "Samsung Electronics PR Team",
      "company_name": "Samsung Electronics",
      "coverage_count": 680
    }
  ]
}

Response Field Description

FieldTypeDescription
statusstringRequest processing status (e.g. SUCCESS, ERROR)
messagestringRequest processing result message
total_workspacesintegerTotal number of workspaces
total_coverageintegerTotal coverage count
top_workspacestringName of workspace with highest coverage
workspacesarrayCoverage info by workspace
workspaces[].workspace_idintegerWorkspace ID
workspaces[].workspace_namestringWorkspace name
workspaces[].company_namestringCompany name
workspaces[].coverage_countintegerCoverage count for this workspace
curl -X GET "https://api.pulitzer.ai/live/openapi/coverage/overview" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"


Workspace Coverage

Retrieve detailed coverage analysis for a specific workspace.

Request

GET https://api.pulitzer.ai/live/openapi/coverage/workspace/{workspace_id}

Path Parameters

ParameterTypeRequiredDescription
workspace_idintegerโœ…Workspace ID

Query Parameters

ParameterTypeRequiredDescription
start_datestringโŒStart date (YYYY-MM-DD)
end_datestringโŒEnd date (YYYY-MM-DD)

Response

{
  "status": "SUCCESS",
  "workspace_id": 1,
  "workspace_name": "Samsung Electronics PR Team",
  "company_name": "Samsung Electronics",
  "coverage_stats": {
    "total_coverage": 680,
    "this_month_coverage": 45,
    "last_month_coverage": 38,
    "coverage_growth": 18.42,
    "avg_daily_coverage": 1.45
  },
  "media_breakdown": [
    {
      "media_name": "Chosun Ilbo",
      "coverage_count": 125,
      "percentage": 18.38
    }
  ],
  "monthly_trend": [
    {
      "month": "2024-01",
      "coverage_count": 42
    }
  ]
}

Response Field Description

FieldTypeDescription
statusstringRequest processing status (e.g. SUCCESS, ERROR)
workspace_idintegerWorkspace ID
workspace_namestringWorkspace name
company_namestringCompany name
coverage_statsobjectCoverage statistics
coverage_stats.total_coverageintegerTotal coverage count
coverage_stats.this_month_coverageintegerThis month's coverage count
coverage_stats.last_month_coverageintegerLast month's coverage count
coverage_stats.coverage_growthfloatCoverage growth rate (%)
coverage_stats.avg_daily_coveragefloatAverage daily coverage count
media_breakdownarrayCoverage info by media
media_breakdown[].media_namestringMedia name
media_breakdown[].coverage_countintegerCoverage count for this media
media_breakdown[].percentagefloatPercentage of total coverage for this media (%)
monthly_trendarrayMonthly coverage trend
monthly_trend[].monthstringMonth (YYYY-MM format)
monthly_trend[].coverage_countintegerCoverage count for this month
curl -X GET "https://api.pulitzer.ai/live/openapi/coverage/workspace/1?start_date=2024-01-01&end_date=2024-07-04" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"


Coverage Efficiency

Analyze coverage efficiency compared to press releases for a workspace.

Request

GET https://api.pulitzer.ai/live/openapi/coverage/workspace/{workspace_id}/efficiency

Path Parameters

ParameterTypeRequiredDescription
workspace_idintegerโœ…Workspace ID

Response

{
  "status": "SUCCESS",
  "message": "Coverage efficiency retrieved successfully",
  "workspace_id": 1,
  "workspace_name": "Samsung Electronics PR Team",
  "efficiency_data": {
    "press_release_count": 45,
    "coverage_count": 680,
    "efficiency_ratio": 15.11,
    "average_coverage_per_release": 15.1
  }
}

Response Field Description

FieldTypeDescription
statusstringRequest processing status (e.g. SUCCESS, ERROR)
messagestringRequest processing result message
workspace_idintegerWorkspace ID
workspace_namestringWorkspace name
efficiency_dataobjectEfficiency data
efficiency_data.press_release_countintegerPress release count
efficiency_data.coverage_countintegerCoverage count
efficiency_data.efficiency_ratiofloatEfficiency ratio (%)
efficiency_data.average_coverage_per_releasefloatAverage coverage per press release
curl -X GET "https://api.pulitzer.ai/live/openapi/coverage/workspace/1/efficiency" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"


Coverage Trend

Retrieve monthly coverage trend for a workspace.

Request

GET https://api.pulitzer.ai/live/openapi/coverage/workspace/{workspace_id}/trend

Path Parameters

ParameterTypeRequiredDescription
workspace_idintegerโœ…Workspace ID

Query Parameters

ParameterTypeRequiredDescription
monthsintegerโŒNumber of months to query (1-24, default: 12)

Response

{
  "status": "SUCCESS",
  "message": "Coverage trend retrieved successfully",
  "workspace_id": 1,
  "workspace_name": "Samsung Electronics PR Team",
  "trend_data": [
    {
      "month": "2024-01",
      "coverage_count": 42,
      "press_release_count": 3,
      "efficiency_ratio": 14
    }
  ]
}

Response Field Description

FieldTypeDescription
statusstringRequest processing status (e.g. SUCCESS, ERROR)
messagestringRequest processing result message
workspace_idintegerWorkspace ID
workspace_namestringWorkspace name
trend_dataarrayMonthly coverage trend data
trend_data[].monthstringMonth (YYYY-MM format)
trend_data[].coverage_countintegerCoverage count for this month
trend_data[].press_release_countintegerPress release count for this month
trend_data[].efficiency_ratiofloatEfficiency ratio (%)
curl -X GET "https://api.pulitzer.ai/live/openapi/coverage/workspace/1/trend?months=12" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

Error Response

When an API request fails, you will receive the following error response.

Common Error Codes

Status CodeError CodeDescription
401UNAUTHORIZEDInvalid API key
404WORKSPACE_NOT_FOUNDWorkspace not found
400INVALID_PARAMETERInvalid parameter

Error Response Format

{
  "status": "ERROR",
  "message": "API key is invalid.",
  "success": "FALSE"
}
# Request with invalid API key
curl -X GET "https://api.pulitzer.ai/live/openapi/coverage/overview" \
  -H "PULITZER-API-KEY: INVALID_KEY"

# Query non-existent workspace
curl -X GET "https://api.pulitzer.ai/live/openapi/coverage/workspace/999" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

๐Ÿ’ก Tip: Use appropriate date ranges and filters for effective media analysis.

โš ๏ธ Note: Check API usage limits and maintain efficient calling patterns.