{
  "id": "contextdev.news.search",
  "object": "tool",
  "name": "Search Company News",
  "summary": "Search live and historical company news by name, domain, ticker, or ISIN.",
  "description": "Find news coverage about one company, identified by name, website domain, stock ticker (optionally scoped to an exchange), or ISIN. Returns articles with stable ids, a story_id that groups syndicated copies of one announcement, url, headline, description, language, authors, lead image, publish date, article type (editorial, press_release, regulatory_filing, advisory), source publication, and a verified entity-relevance match. Supports publisher domain and country filters, language and article-type filters, a published-at window, relevance or recency ordering, and cursor pagination. Suited for company monitoring, due diligence, deal sourcing, and news-driven enrichment.\n\nRaw contextdev#news/search endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.context.dev/api-reference/news/search).",
  "category": "lookup",
  "hosted_by": "Context.dev",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "contextdev",
      "name": "Context.dev",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "contextdev_news_search",
  "input_schema": {
    "type": "object",
    "properties": {
      "body": {
        "type": "object",
        "properties": {
          "searchBy": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "entity",
                "description": "How to search. Only entity search is supported."
              },
              "entity": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "const": "name"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 200,
                        "description": "Company name."
                      }
                    },
                    "required": [
                      "type",
                      "name"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "const": "domain"
                      },
                      "domain": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 253,
                        "description": "Company website domain, e.g. 'apple.com'."
                      }
                    },
                    "required": [
                      "type",
                      "domain"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "const": "ticker"
                      },
                      "ticker": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 20,
                        "pattern": "^[A-Za-z0-9.-]+$",
                        "description": "Public-company stock ticker, e.g. 'AAPL'."
                      },
                      "exchange": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 10,
                        "description": "Exchange code disambiguating a ticker listed on several exchanges, e.g. 'NASDAQ', 'NYSE', 'LSE', 'XETRA'."
                      }
                    },
                    "required": [
                      "type",
                      "ticker"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "const": "isin"
                      },
                      "isin": {
                        "type": "string",
                        "pattern": "^[A-Za-z]{2}[A-Za-z0-9]{9}[0-9]$",
                        "description": "International Securities Identification Number, e.g. 'US0378331005'."
                      }
                    },
                    "required": [
                      "type",
                      "isin"
                    ],
                    "additionalProperties": false
                  }
                ],
                "description": "The company to search news for — identify it by exactly one of name, domain, ticker (optionally scoped to an exchange), or ISIN."
              }
            },
            "required": [
              "type",
              "entity"
            ],
            "additionalProperties": false,
            "description": "What to search for."
          },
          "filterBy": {
            "type": "object",
            "properties": {
              "sourceDomain": {
                "minItems": 1,
                "maxItems": 3,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 253
                },
                "description": "Publisher domains to include (up to 3)."
              },
              "sourceCountry": {
                "minItems": 1,
                "maxItems": 3,
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z]{2}$"
                },
                "description": "Publisher countries to include, as lowercase ISO 3166-1 alpha-2 codes (up to 3)."
              },
              "articleLanguage": {
                "minItems": 1,
                "maxItems": 3,
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z]{2}$"
                },
                "description": "Article languages to include, as ISO 639-1 codes (up to 3)."
              },
              "articleType": {
                "minItems": 1,
                "maxItems": 3,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "editorial",
                    "press_release",
                    "regulatory_filing",
                    "advisory"
                  ]
                },
                "description": "Article types to include (up to 3) — separates independent reporting (editorial) from company-issued content."
              },
              "date": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991,
                    "description": "Inclusive start of the published-at window, epoch milliseconds."
                  },
                  "to": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991,
                    "description": "Inclusive end of the published-at window, epoch milliseconds."
                  }
                },
                "additionalProperties": false,
                "description": "Published-at window in epoch milliseconds."
              }
            },
            "additionalProperties": false,
            "description": "Optional result filters."
          },
          "sortBy": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "relevance",
                  "newest"
                ],
                "description": "Result ordering."
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false,
            "description": "Result ordering. Defaults to newest."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum articles to return (1-100). Default 10. Sizes the hold: one credit per 10 articles."
          },
          "cursor": {
            "type": "string",
            "maxLength": 300,
            "description": "Opaque next_cursor from the previous response to fetch the following page. Each page bills its own articles."
          }
        },
        "required": [
          "searchBy",
          "limit"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "body"
    ],
    "additionalProperties": false
  },
  "kind": "endpoint"
}