{
  "openapi": "3.0.1",
  "info": {
    "title": "News Mentions API: Brand & Keyword Monitoring",
    "description": "Search a curated index of publisher news feeds by keyword and get clean article rows: title, snippet, publisher URL, source, region, topic, language and publish time. Built for brand/PR monitoring, competitor tracking and market news in Malaysia, Southeast Asia and worldwide. Pay only per article.",
    "version": "0.1",
    "x-build-id": "vrZFjzNpvhaddjpjK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/subimpact~news-mentions-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-subimpact-news-mentions-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/subimpact~news-mentions-api/runs": {
      "post": {
        "operationId": "runs-sync-subimpact-news-mentions-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/subimpact~news-mentions-api/run-sync": {
      "post": {
        "operationId": "run-sync-subimpact-news-mentions-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "🔎 Keywords / queries",
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "description": "1–100 search queries. Defaults to a demo query when omitted. Query syntax: words are ANDed by default (petronas profit = both words); \"exact phrase\" in double quotes; OR between terms (uppercase); -term or -\"phrase\" excludes. Example: Petronas OR \"Petronas Dagangan\" -sponsored.",
            "items": {
              "type": "string"
            },
            "default": [
              "Petronas",
              "\"electric vehicle\" Malaysia"
            ]
          },
          "excludeKeywords": {
            "title": "🚫 Exclude terms (added to every query)",
            "type": "array",
            "description": "Appended to every query as -term, so you can filter noise once instead of in each keyword. Multi-word terms are quoted automatically: \"press release\" becomes -\"press release\".",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "regions": {
            "title": "🌏 Regions",
            "type": "array",
            "description": "Publisher regions to search. Leave empty for all regions. MY = Malaysia, SG = Singapore, ID = Indonesia, PH = Philippines, TH = Thailand, VN = Vietnam, GLOBAL = international outlets.",
            "items": {
              "type": "string",
              "enum": [
                "MY",
                "SG",
                "ID",
                "PH",
                "TH",
                "VN",
                "GLOBAL"
              ],
              "enumTitles": [
                "Malaysia",
                "Singapore",
                "Indonesia",
                "Philippines",
                "Thailand",
                "Vietnam",
                "Global"
              ]
            },
            "default": []
          },
          "topics": {
            "title": "🗂️ Topics",
            "type": "array",
            "description": "Publisher sections to search. Leave empty for all topics.",
            "items": {
              "type": "string",
              "enum": [
                "general",
                "business",
                "tech",
                "startups",
                "auto",
                "finance",
                "crypto",
                "marketing",
                "ecommerce",
                "energy"
              ],
              "enumTitles": [
                "General news",
                "Business",
                "Technology",
                "Startups & VC",
                "Automotive & EV",
                "Finance",
                "Crypto",
                "Marketing",
                "E-commerce",
                "Energy"
              ]
            },
            "default": []
          },
          "languages": {
            "title": "🗣️ Languages",
            "type": "array",
            "description": "ISO language codes of the publisher feed, e.g. en, ms, id, th, vi. Leave empty for all languages.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "domains": {
            "title": "✅ Only these domains",
            "type": "array",
            "description": "Restrict results to these publisher domains (subdomains included): thestar.com.my also matches biz.thestar.com.my. Leave empty for any publisher.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "excludeDomains": {
            "title": "⛔ Exclude these domains",
            "type": "array",
            "description": "Drop results from these publisher domains (subdomains included).",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "lookbackDays": {
            "title": "📅 Lookback (days)",
            "minimum": 1,
            "maximum": 180,
            "type": "integer",
            "description": "How many days back to search, counted from now (1–180). The index keeps up to 180 days of history. Ignored when dateFrom is set, and on scheduled delta runs (onlyNew) after the first run.",
            "default": 7
          },
          "dateFrom": {
            "title": "📅 From date (optional, overrides lookback)",
            "type": "string",
            "description": "Only articles published on/after this date. ISO format: 2026-10-01 or 2026-10-01T09:00:00Z."
          },
          "dateTo": {
            "title": "📅 To date (optional)",
            "type": "string",
            "description": "Only articles published on/before this date (inclusive; a bare date covers the whole day). ISO format: 2026-10-24 or 2026-10-24T18:00:00Z."
          },
          "maxItemsPerKeyword": {
            "title": "💯 Max articles per keyword",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Upper limit of articles fetched for each keyword (1–5000). You are charged only for the articles actually returned.",
            "default": 100
          },
          "dedupeAcrossKeywords": {
            "title": "🧩 One row per article (dedupe across keywords)",
            "type": "boolean",
            "description": "On (default): an article matching several keywords appears once, with every matching keyword in matchedKeywords. Off: one row per keyword match, pushed as soon as it is fetched.",
            "default": true
          },
          "onlyNew": {
            "title": "🆕 Only new articles since the last run (delta mode)",
            "type": "boolean",
            "description": "For scheduled monitoring: remembers how far the index it has been read (in the named key-value store news-mentions-state) and returns only articles added since. The first run returns the lookback window. Do not mix delta and full runs in the same task.",
            "default": false
          },
          "stateKey": {
            "title": "🔑 State key (optional)",
            "type": "string",
            "description": "Only for onlyNew. Name of the stored cursor. Leave empty to derive it from the query (keywords + filters), so different searches keep separate cursors in the same task."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}