alkaike / news.py
gouravchahar's picture
required files
c6a6d99 verified
import requests
import os
import json
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
API_KEY = os.getenv("RAPID_API_KEY")
# API Endpoint and Headers
URL = "https://real-time-news-data.p.rapidapi.com/search"
HEADERS = {
"x-rapidapi-key": f"{API_KEY}",
"x-rapidapi-host": "real-time-news-data.p.rapidapi.com"
}
def fetch_news(company, limit=20, country="US", lang="en", time_published="anytime"):
query_params = {
"query": company,
"limit": str(limit),
"time_published": time_published,
"country": country,
"lang": lang
}
try:
response = requests.get(URL, headers=HEADERS, params=query_params)
response.raise_for_status() # Raises an error for HTTP errors (e.g., 400, 500)
data = response.json()
if "data" not in data:
print("Error: Unexpected API response format")
return []
articles = []
for item in data["data"]:
articles.append({
"title": item.get("title", "No Title"),
"snippet": item.get("snippet", "No Snippet"),
"link": item.get("link", "#")
})
return articles
except requests.exceptions.RequestException as e:
print(f"❌ Error fetching news: {e}")
return []