NewsClip Custom API

Use the NewsClip Custom API to create asynchronous custom news collection requests and retrieve processing status/results.

Authentication

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

Header Setup

PULITZER-API-KEY: YOUR_API_KEY
curl -X POST "https://api.pulitzer.ai/live/openapi/news-clipping-custom/collect" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

Create Custom Collection Request

Create an asynchronous custom news collection request. Retrieve results with collect_id.

POST https://api.pulitzer.ai/live/openapi/news-clipping-custom/collect

Request Body

{
  "channel": "google_news",
  "keyword": "AI λ°˜λ„μ²΄",
  "max_pages": 3,
  "site_domains": [
    "chosun.com",
    "donga.com"
  ],
  "filter_prompt": "투자/사업 μ „λž΅ κ΄€λ ¨ κΈ°μ‚¬λ§Œ 포함",
  "language": "ko",
  "date_from": "2026-05-01",
  "date_to": "2026-05-31"
}

Request Body Parameters

ParameterTypeRequiredDescription
channelstringβœ…Collection channel: naver_news | google_news | naver_blog
keywordstringβœ…Search keyword (1-200 chars)
max_pagesintegerβœ…Maximum pages to collect (1-10)
site_domainsarray[string]❌Domain filter (google_news only, max 10)
filter_promptstring❌AI filtering prompt (if omitted, all collected articles are included)
languagestring❌Language filter (ISO 639-1 code, omit for no restriction. e.g. ko, en, ja)
date_fromstring(date)❌Search start date (YYYY-MM-DD)
date_tostring(date)❌Search end date (YYYY-MM-DD, max 31-day range)

Response

{
  "status": "SUCCESS",
  "success": true,
  "message": "μˆ˜μ§‘ μš”μ²­μ΄ λ“±λ‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€. collect_id둜 μƒνƒœλ₯Ό μ‘°νšŒν•˜μ„Έμš”.",
  "data": {
    "collect_id": 123,
    "estimated_completion_kst": "2026-06-01T18:30:00+09:00"
  }
}

Response Fields

FieldTypeDescription
statusstringResponse status string (SUCCESS on success)
successbooleanWhether the request succeeded
messagestringResponse message
data.collect_idintegerCreated collection request ID
data.estimated_completion_kststring | nullEstimated completion time (KST ISO 8601)
curl -X POST "https://api.pulitzer.ai/live/openapi/news-clipping-custom/collect" \
  -H "PULITZER-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "google_news",
    "keyword": "AI semiconductors",
    "max_pages": 3,
    "site_domains": ["chosun.com", "donga.com"],
    "filter_prompt": "Include only investment and business strategy related articles",
    "language": "en",
    "date_from": "2026-05-01",
    "date_to": "2026-05-31"
  }'

List Custom Collection Requests

Retrieve custom collection request history with pagination.

GET https://api.pulitzer.ai/live/openapi/news-clipping-custom/collect/list

Query Parameters

ParameterTypeRequiredDescription
pageinteger❌Page number (default: 1)
page_sizeinteger❌Page size (1-100, default: 20)
statusstring❌Status filter: pending | processing | done | error

Response

{
  "status": "SUCCESS",
  "success": true,
  "message": "μˆ˜μ§‘ μš”μ²­ λ‚΄μ—­ 쑰회 성곡",
  "data": [
    {
      "collect_id": 123,
      "channel": "google_news",
      "keyword": "AI λ°˜λ„μ²΄",
      "max_pages": 3,
      "site_domains": [
        "chosun.com"
      ],
      "filter_prompt": "투자/사업 μ „λž΅ κ΄€λ ¨ κΈ°μ‚¬λ§Œ 포함",
      "status": "processing",
      "charged_pages": 0,
      "total_cost": 0,
      "created_kst": "2026-06-01T17:30:00+09:00",
      "estimated_completion_kst": "2026-06-01T18:30:00+09:00"
    }
  ],
  "page_count": 1,
  "total_count": 1
}

Response Fields

FieldTypeDescription
statusstringResponse status string
successbooleanWhether the request succeeded
messagestringResponse message
data[]arrayCollection request list
data[].collect_idintegerCollection request ID
data[].channelstringCollection channel
data[].keywordstringSearch keyword
data[].max_pagesintegerRequested maximum pages
data[].site_domainsarray[string] | nullDomain filter list
data[].filter_promptstring | nullAI filtering prompt
data[].languagestring | nullLanguage filter (ISO 639-1, None=no restriction)
data[].statusstringRequest status (pending/processing/done/error)
data[].charged_pagesintegerCharged page count
data[].total_costintegerTotal cost (KRW)
data[].created_kststring | nullRequest creation time (KST ISO 8601)
data[].estimated_completion_kststring | nullEstimated completion time
page_countintegerTotal number of pages
total_countintegerTotal number of items
curl -X GET "https://api.pulitzer.ai/live/openapi/news-clipping-custom/collect/list?page=1&page_size=20&status=processing" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

Get Custom Collection Status/Result

Retrieve processing status and collected article results by collect_id.

GET https://api.pulitzer.ai/live/openapi/news-clipping-custom/collect/{`{collect_id}`}

Status Values

  • pending: Queued
  • processing: Collecting
  • done: Completed
  • error: Failed

Response

{
  "status": "SUCCESS",
  "success": true,
  "message": "μˆ˜μ§‘ μƒνƒœ 쑰회 성곡",
  "data": {
    "collect_id": 123,
    "channel": "google_news",
    "keyword": "AI λ°˜λ„μ²΄",
    "max_pages": 3,
    "site_domains": [
      "chosun.com"
    ],
    "filter_prompt": null,
    "status": "done",
    "charged_pages": 2,
    "total_cost": 400,
    "created_kst": "2026-06-01T17:30:00+09:00",
    "processing_kst": "2026-06-01T17:31:00+09:00",
    "completed_kst": "2026-06-01T17:36:00+09:00",
    "error_message": null,
    "estimated_completion_kst": "2026-06-01T17:36:00+09:00",
    "full_articles": [
      {
        "title_ko": "AI λ°˜λ„μ²΄ 투자 ν™•λŒ€",
        "title_en": "Expanded Investment in AI Semiconductors",
        "summary_ko": "κ΅­λ‚΄ 기업이 AI λ°˜λ„μ²΄ 투자 ν™•λŒ€λ₯Ό λ°œν‘œ...",
        "summary_en": "A local company announced an expansion in AI semiconductor investment...",
        "url": "https://example.com/article-1",
        "media_name": "Example Media",
        "pub_date": "2026-06-01T09:00:00+09:00"
      }
    ],
    "filtered_articles": [
      {
        "title_ko": "AI λ°˜λ„μ²΄ 투자 ν™•λŒ€",
        "title_en": "Expanded Investment in AI Semiconductors",
        "summary_ko": "κ΅­λ‚΄ 기업이 AI λ°˜λ„μ²΄ 투자 ν™•λŒ€λ₯Ό λ°œν‘œ...",
        "summary_en": "A local company announced an expansion in AI semiconductor investment...",
        "url": "https://example.com/article-1",
        "media_name": "Example Media",
        "pub_date": "2026-06-01T09:00:00+09:00"
      }
    ]
  }
}

Response Fields

FieldTypeDescription
statusstringResponse status string
successbooleanWhether the request succeeded
messagestringResponse message
data.collect_idintegerCollection request ID
data.channelstringCollection channel
data.keywordstringSearch keyword
data.max_pagesintegerRequested maximum pages
data.site_domainsarray[string] | nullDomain filter list
data.filter_promptstring | nullAI filtering prompt
data.languagestring | nullLanguage filter (ISO 639-1, None=no restriction)
data.statusstringRequest status
data.charged_pagesintegerCharged page count
data.total_costintegerTotal cost (KRW)
data.created_kststring | nullRequest creation time
data.processing_kststring | nullProcessing start time
data.completed_kststring | nullCompletion time
data.error_messagestring | nullError message when failed
data.estimated_completion_kststring | nullEstimated completion time
data.full_articles[]arrayAll collected articles before filtering
data.filtered_articles[]arrayArticles after filtering
*.title_ko/title_enstring | nullArticle title (KO/EN)
*.summary_ko/summary_enstring | nullArticle summary (KO/EN)
*.urlstring | nullArticle original URL
*.media_namestring | nullMedia name
*.pub_datestring | nullArticle published datetime
curl -X GET "https://api.pulitzer.ai/live/openapi/news-clipping-custom/collect/123" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"