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_KEYcurl -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/collectRequest 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
| Parameter | Type | Required | Description |
|---|---|---|---|
channel | string | β | Collection channel: naver_news | google_news | naver_blog |
keyword | string | β | Search keyword (1-200 chars) |
max_pages | integer | β | Maximum pages to collect (1-10) |
site_domains | array[string] | β | Domain filter (google_news only, max 10) |
filter_prompt | string | β | AI filtering prompt (if omitted, all collected articles are included) |
language | string | β | Language filter (ISO 639-1 code, omit for no restriction. e.g. ko, en, ja) |
date_from | string(date) | β | Search start date (YYYY-MM-DD) |
date_to | string(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
| Field | Type | Description |
|---|---|---|
status | string | Response status string (SUCCESS on success) |
success | boolean | Whether the request succeeded |
message | string | Response message |
data.collect_id | integer | Created collection request ID |
data.estimated_completion_kst | string | null | Estimated 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/listQuery Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | β | Page number (default: 1) |
page_size | integer | β | Page size (1-100, default: 20) |
status | string | β | 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
| Field | Type | Description |
|---|---|---|
status | string | Response status string |
success | boolean | Whether the request succeeded |
message | string | Response message |
data[] | array | Collection request list |
data[].collect_id | integer | Collection request ID |
data[].channel | string | Collection channel |
data[].keyword | string | Search keyword |
data[].max_pages | integer | Requested maximum pages |
data[].site_domains | array[string] | null | Domain filter list |
data[].filter_prompt | string | null | AI filtering prompt |
data[].language | string | null | Language filter (ISO 639-1, None=no restriction) |
data[].status | string | Request status (pending/processing/done/error) |
data[].charged_pages | integer | Charged page count |
data[].total_cost | integer | Total cost (KRW) |
data[].created_kst | string | null | Request creation time (KST ISO 8601) |
data[].estimated_completion_kst | string | null | Estimated completion time |
page_count | integer | Total number of pages |
total_count | integer | Total 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: Queuedprocessing: Collectingdone: Completederror: 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
| Field | Type | Description |
|---|---|---|
status | string | Response status string |
success | boolean | Whether the request succeeded |
message | string | Response message |
data.collect_id | integer | Collection request ID |
data.channel | string | Collection channel |
data.keyword | string | Search keyword |
data.max_pages | integer | Requested maximum pages |
data.site_domains | array[string] | null | Domain filter list |
data.filter_prompt | string | null | AI filtering prompt |
data.language | string | null | Language filter (ISO 639-1, None=no restriction) |
data.status | string | Request status |
data.charged_pages | integer | Charged page count |
data.total_cost | integer | Total cost (KRW) |
data.created_kst | string | null | Request creation time |
data.processing_kst | string | null | Processing start time |
data.completed_kst | string | null | Completion time |
data.error_message | string | null | Error message when failed |
data.estimated_completion_kst | string | null | Estimated completion time |
data.full_articles[] | array | All collected articles before filtering |
data.filtered_articles[] | array | Articles after filtering |
*.title_ko/title_en | string | null | Article title (KO/EN) |
*.summary_ko/summary_en | string | null | Article summary (KO/EN) |
*.url | string | null | Article original URL |
*.media_name | string | null | Media name |
*.pub_date | string | null | Article published datetime |
curl -X GET "https://api.pulitzer.ai/live/openapi/news-clipping-custom/collect/123" \
-H "PULITZER-API-KEY: YOUR_API_KEY"