{
  "service": "world_news_api",
  "displayName": "World News API",
  "categories": [
    "Data",
    "Social"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "WORLD_NEWS_API_KEY",
      "description": "World News API key sent with the x-api-key request header. Create an account and get your key from the console at https://worldnewsapi.com/console/."
    }
  ],
  "homepageUrl": "https://worldnewsapi.com",
  "actions": [
    {
      "id": "world_news_api.get_geo_coordinates",
      "service": "world_news_api",
      "name": "get_geo_coordinates",
      "description": "Resolve a location string to latitude and longitude with World News API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "minLength": 1,
            "description": "The location text to geocode."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 8,
            "description": "The language code used to localize the geocoding response."
          }
        },
        "additionalProperties": false,
        "required": [
          "location"
        ],
        "description": "Input parameters for looking up geo coordinates with World News API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "description": "The latitude coordinate resolved for the requested location."
          },
          "longitude": {
            "type": "number",
            "description": "The longitude coordinate resolved for the requested location."
          },
          "city": {
            "anyOf": [
              {
                "type": "string",
                "description": "The city name resolved for the requested location."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": true,
        "description": "The geo-coordinate lookup response returned by World News API."
      }
    },
    {
      "id": "world_news_api.get_top_news",
      "service": "world_news_api",
      "name": "get_top_news",
      "description": "Retrieve top-news clusters for one source country and optional language or date filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceCountry": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The source country code used to retrieve top news."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 8,
            "description": "The language code used to retrieve top news."
          },
          "date": {
            "type": "string",
            "description": "The calendar date used to retrieve top news in YYYY-MM-DD format.",
            "format": "date"
          }
        },
        "additionalProperties": false,
        "required": [
          "sourceCountry"
        ],
        "description": "Input parameters for retrieving top news with World News API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "top_news": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "news": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "The unique article identifier returned by World News API."
                      },
                      "title": {
                        "type": "string",
                        "description": "The article headline."
                      },
                      "text": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The full article text returned by World News API."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "summary": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The short article summary returned by World News API."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "url": {
                        "type": "string",
                        "description": "The canonical article URL."
                      },
                      "image": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The preview image URL returned by World News API."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "video": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The preview video URL returned by World News API."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "publish_date": {
                        "type": "string",
                        "description": "The article publish timestamp."
                      },
                      "author": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The primary author returned by World News API."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "authors": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "description": "One author name returned by World News API."
                        },
                        "description": "The author names returned by World News API."
                      },
                      "language": {
                        "type": "string",
                        "description": "The language code associated with the article."
                      },
                      "source_country": {
                        "type": "string",
                        "description": "The source country code associated with the article."
                      },
                      "sentiment": {
                        "type": "number",
                        "description": "The sentiment score returned by World News API."
                      },
                      "category": {
                        "type": "string",
                        "description": "The article category returned by World News API."
                      }
                    },
                    "additionalProperties": true,
                    "description": "One article returned by World News API."
                  },
                  "description": "The news items grouped into one top-news cluster."
                }
              },
              "additionalProperties": true,
              "description": "One top-news cluster returned by World News API."
            },
            "description": "The clustered top-news results."
          },
          "language": {
            "type": "string",
            "description": "The language used for the top-news response."
          },
          "country": {
            "type": "string",
            "description": "The country used for the top-news response."
          }
        },
        "additionalProperties": true,
        "description": "The top-news response returned by World News API."
      }
    },
    {
      "id": "world_news_api.retrieve_news",
      "service": "world_news_api",
      "name": "retrieve_news",
      "description": "Retrieve one or more articles by identifier from World News API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "One article identifier returned by World News API."
            },
            "description": "The article identifiers to retrieve.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "ids"
        ],
        "description": "Input parameters for retrieving articles by identifier."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "news": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The unique article identifier returned by World News API."
                },
                "title": {
                  "type": "string",
                  "description": "The article headline."
                },
                "text": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The full article text returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "summary": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The short article summary returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "url": {
                  "type": "string",
                  "description": "The canonical article URL."
                },
                "image": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The preview image URL returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "video": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The preview video URL returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publish_date": {
                  "type": "string",
                  "description": "The article publish timestamp."
                },
                "author": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The primary author returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "authors": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One author name returned by World News API."
                  },
                  "description": "The author names returned by World News API."
                },
                "language": {
                  "type": "string",
                  "description": "The language code associated with the article."
                },
                "source_country": {
                  "type": "string",
                  "description": "The source country code associated with the article."
                },
                "sentiment": {
                  "type": "number",
                  "description": "The sentiment score returned by World News API."
                },
                "category": {
                  "type": "string",
                  "description": "The article category returned by World News API."
                }
              },
              "additionalProperties": true,
              "description": "One article returned by World News API."
            },
            "description": "The articles retrieved by identifier."
          }
        },
        "additionalProperties": true,
        "description": "The article retrieval response returned by World News API."
      }
    },
    {
      "id": "world_news_api.search_news",
      "service": "world_news_api",
      "name": "search_news",
      "description": "Search news articles with World News API using the first-pass filtering subset.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "description": "Keywords or phrases used to search matching articles."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 8,
            "description": "The language code used to filter matching articles."
          },
          "sourceCountries": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of source country codes used to filter matching articles."
          },
          "categories": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of categories used to filter matching articles."
          },
          "earliestPublishDate": {
            "type": "string",
            "minLength": 1,
            "description": "The earliest publish date or timestamp accepted by World News API."
          },
          "latestPublishDate": {
            "type": "string",
            "minLength": 1,
            "description": "The latest publish date or timestamp accepted by World News API."
          },
          "newsSources": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of source URLs used to filter matching articles."
          },
          "authors": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of author names used to filter matching articles."
          },
          "locationFilter": {
            "type": "string",
            "minLength": 1,
            "description": "A latitude,longitude,radius filter used to constrain matching articles by location."
          },
          "entities": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of entity filters accepted by World News API."
          },
          "sort": {
            "type": "string",
            "enum": [
              "publish-time",
              "relevance"
            ],
            "description": "The sorting mode used for the article search request."
          },
          "sortDirection": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The sort direction used for the article search request."
          },
          "minSentiment": {
            "type": "number",
            "minimum": -1,
            "maximum": 1,
            "description": "The minimum sentiment score accepted for matching articles."
          },
          "maxSentiment": {
            "type": "number",
            "minimum": -1,
            "maximum": 1,
            "description": "The maximum sentiment score accepted for matching articles."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based result offset for pagination."
          },
          "number": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of articles to return."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for searching news articles with World News API.",
        "anyOf": [
          {
            "required": [
              "text"
            ]
          },
          {
            "required": [
              "language"
            ]
          },
          {
            "required": [
              "sourceCountries"
            ]
          },
          {
            "required": [
              "categories"
            ]
          },
          {
            "required": [
              "earliestPublishDate"
            ]
          },
          {
            "required": [
              "latestPublishDate"
            ]
          },
          {
            "required": [
              "newsSources"
            ]
          },
          {
            "required": [
              "authors"
            ]
          },
          {
            "required": [
              "locationFilter"
            ]
          },
          {
            "required": [
              "entities"
            ]
          },
          {
            "required": [
              "minSentiment"
            ]
          },
          {
            "required": [
              "maxSentiment"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The zero-based offset used for the current page."
          },
          "number": {
            "type": "integer",
            "description": "The number of items requested for the current page."
          },
          "available": {
            "type": "integer",
            "description": "The total number of available articles matching the request."
          },
          "news": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The unique article identifier returned by World News API."
                },
                "title": {
                  "type": "string",
                  "description": "The article headline."
                },
                "text": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The full article text returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "summary": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The short article summary returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "url": {
                  "type": "string",
                  "description": "The canonical article URL."
                },
                "image": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The preview image URL returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "video": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The preview video URL returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publish_date": {
                  "type": "string",
                  "description": "The article publish timestamp."
                },
                "author": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The primary author returned by World News API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "authors": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One author name returned by World News API."
                  },
                  "description": "The author names returned by World News API."
                },
                "language": {
                  "type": "string",
                  "description": "The language code associated with the article."
                },
                "source_country": {
                  "type": "string",
                  "description": "The source country code associated with the article."
                },
                "sentiment": {
                  "type": "number",
                  "description": "The sentiment score returned by World News API."
                },
                "category": {
                  "type": "string",
                  "description": "The article category returned by World News API."
                }
              },
              "additionalProperties": true,
              "description": "One article returned by World News API."
            },
            "description": "The news articles returned by the request."
          }
        },
        "additionalProperties": true,
        "description": "The article search response returned by World News API."
      }
    },
    {
      "id": "world_news_api.search_news_sources",
      "service": "world_news_api",
      "name": "search_news_sources",
      "description": "Search World News API sources by name, language, or source country.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The source name used to search matching news sources."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 8,
            "description": "The language code used to filter matching news sources."
          },
          "sourceCountry": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The source country code used to filter matching news sources."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for searching news sources with World News API.",
        "anyOf": [
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "language"
            ]
          },
          {
            "required": [
              "sourceCountry"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "available": {
            "type": "integer",
            "description": "The total number of news sources matching the request."
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "The homepage URL of the news source."
                },
                "name": {
                  "type": "string",
                  "description": "The display name of the news source."
                },
                "language": {
                  "type": "string",
                  "description": "The language code of the news source."
                }
              },
              "additionalProperties": true,
              "description": "One news source returned by World News API."
            },
            "description": "The news sources returned by the request."
          }
        },
        "additionalProperties": true,
        "description": "The news source search response returned by World News API."
      }
    }
  ]
}
