Most news apps and search engines already present headlines well, so simply listing them is becoming less valuable. The real value has shifted to connecting the dots: grouping related news stories, identifying patterns across sources, and explaining what actually matters and why.
In this post, we’ll build a simple pipeline that turns raw Bing News results into a structured daily briefing which does exactly that using:
- SerpApi's Bing News API for real-time news data
- Claude for summarization and insight generation
Setting Up
LLMs work best when you give them clean, formatted context instead of raw scraped HTML, so we'll do exactly that.
Get results using SerpApi (Bing News API) → Normalize → Send to Claude with a relevant prompt → Get structured briefing
For this tutorial, we're going to use SerpApi's new Python library to get results from search.
- Install SerpApi's new Python
serpapilibrary, the python-dotenv library (for using environment variables) andanthropiclibrary (for Claude) in your environment:
pip install serpapi python-dotenv anthropicserpapi is our new Python library. You can use this library to scrape search results from any of SerpApi's APIs. More About Our Python Libraries
We have two separate Python libraries serpapi and google-search-results, and both work perfectly fine. We are in the process of deprecating google-search-results, so I recommend using serpapi as that is our latest python library.
You may encounter issues if you have both libraries installed at the same time. If you have the old library installed and want to proceed with using our new library, please follow these steps:
- Uninstall
google-search-resultsmodule from your environment. - Make sure that neither
serpapinorgoogle-search-resultsare installed at that stage. - Install
serpapimodule, for example with the following command if you're usingpip:pip install serpapi
- To begin scraping data, create a free account on serpapi.com. You'll receive 250 free search credits each month to explore the API. Get your SerpApi API key from this page.
- [Optional but Recommended] Set your API keys in an environment variable, instead of directly pasting them in the code. Refer here to understand more about using environment variables.
SERPAPI_API_KEY=<YOUR PRIVATE SERPAPI API KEY>
CLAUDE_API_KEY=<YOUR PRIVATE CLAUDE API KEY>Get your SerpApi API key here: https://serpapi.com/manage-api-key
Get your Claude API key here: https://platform.claude.com/settings/keys
- Import classes needed for this project at the beginning of your code file and set up some constants we'll use later on:
import os
import serpapi
import json
import anthropic
from dotenv import load_dotenv
load_dotenv()
SERPAPI_API_KEY = os.environ["SERPAPI_API_KEY"]
CLAUDE_API_KEY = os.environ["CLAUDE_API_KEY"]Fetch News with Bing News API
We’ll write a function to use SerpApi’s Bing News API (bing_news engine) and get all the news results.
def fetch_news(query):
client = serpapi.Client(api_key=SERPAPI_API_KEY)
results = client.search({
"engine": "bing_news",
"q": query,
"device": "desktop",
"mkt": "en-au"
})
return results.get("organic_results", [])We can call this function with any query such as "Self driving software" or "AI" and scrape results from Bing News.
You can test the Bing News API out in our playground with parameters of your choice:
Prompting Claude
Good prompts can make all the difference when building a AI briefing based on the results.
A bad prompt would look like:
“Summarize these articles”
Better prompts often define structure, force grouping, and require reasoning.
def build_prompt(articles):
return f"""
You are a technical news analyst.
Task: Convert raw news articles into a structured daily briefing.
Requirements:
- Group related articles into 3-5 themes
- Each theme must have:
- A short title
- A 2-3 sentence summary
- A "Why it matters" explanation
- Be concise and non-generic
- Avoid repeating the same point across themes
Articles:
{articles}
"""Generate the Briefing (Claude API)
Using Claude's API, we can turn the data we got from SerpApi into a briefing. Here is some simple code to use Anthropic API -
def generate_briefing(prompt):
client = anthropic.Anthropic(api_key=CLAUDE_API_KEY)
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1500,
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].textPutting It Together
Now that we have all the pieces we'll use, let's write the code to call the different functions and get our news briefing:
def run():
query = "AI"
articles = fetch_news(query)
prompt = build_prompt(articles)
briefing = generate_briefing(prompt)
print(briefing)
if __name__ == "__main__":
run()Now, we're ready to run this file. We can do so by typing python <filename> in the terminal.
Automated Delivery
A briefing is only useful if it reaches you regularly automatically. Add a delivery layer like automated daily email or a slack webhook.
Automated Daily Email
- Simple automation run daily via cron or other scheduling methods
- Email formatted briefing to yourself or a team
Slack Webhook
- Post structured sections into a channel
- Good for teams or shared awareness feeds
- Enables discussion around themes
Read this blog post for more info on setting up a Slack webhook (The use case in the post is different, but the process remains the same). It also covers how to schedule a job every day using the Python schedule library:

Generated AI Briefing Example Output
Here's an example run. In my SerpApi call, I set the query to "AI" to keep things simple. I used these parameters for Anthropic API:
model="claude-opus-4-7",
max_tokens=1500,
messages=[{"role": "user", "content": prompt}]Here's the Claude generated briefing:
Daily AI Briefing
1. AI Reshapes the Workforce: Layoffs, Skill Demands, and Survival Rules
Cloudflare announced a 20% workforce cut (1,100 employees) citing agentic AI as a fundamental disruptor of its operations, sending its stock down 18%. Meanwhile, Airbnb CEO Brian Chesky warned that "pure people managers" and change-resistant workers won't survive the AI era, and CBS reports employers are increasingly demanding AI fluency from new hires.
Why it matters: This is one of the first major tech layoffs explicitly attributed to agentic AI rather than macro conditions—signaling a shift from AI-as-productivity-tool to AI-as-headcount-replacement. Workers and managers face mounting pressure to reskill or face displacement.
2. Conflicting Narratives on AI's Human Impact
Nvidia's Jensen Huang publicly framed AI as a net job creator, urging workers not to fear the technology. In contrast, a new study found that just 10 minutes of AI use measurably impaired cognitive performance on arithmetic and reasoning tasks.
Why it matters: The optimistic vendor narrative (Huang) is increasingly at odds with both labor-market evidence (Cloudflare) and emerging cognitive research. Expect this tension to drive policy debates and shape enterprise adoption guardrails.
3. AI Stocks Diverge as Earnings Season Tests the Hype
SoundHound AI beat Q1 expectations with 51.7% revenue growth but still dropped 12.4%, while Cloudflare cratered 18% post-earnings. Analysts are also reframing the Nvidia-vs-Palantir debate for 2026 as both stocks face renewed scrutiny.
Why it matters: Markets are no longer rewarding AI exposure alone—even strong top-line growth isn't enough. Investors are demanding margin discipline and clear AI monetization paths, marking a maturation point for the sector.
4. Military AI Moves From Theoretical to Operational
The UK's Royal Air Force chief confirmed AI-powered uncrewed fighter aircraft are already being integrated into operations, far ahead of prior timelines. Simultaneously, CNN reports the Pentagon faces growing scrutiny over the legal limits of AI in warfare, including its use in Iran-related operations.
Why it matters: Autonomous combat systems have crossed from R&D to deployment faster than legal and ethical frameworks can adapt. The gap between operational reality and governance is becoming a strategic vulnerability for Western militaries.
5. The Consumer AI Landscape Crystallizes
TechRepublic published a side-by-side comparison of the major chatbots—ChatGPT, Gemini, Copilot, Claude, Perplexity, Grok, DeepSeek, and Meta AI—mapping each to specific use cases and integrations.
Why it matters: With eight serious contenders now in the consumer/prosumer market, differentiation is shifting from raw model quality to ecosystem integration and vertical specialization. The "one assistant to rule them all" thesis is dead; multi-tool workflows are the new norm.
Building On Top Of This
Changing The Model
As of May 2026, here are the options Claude provides and what each is best for:
- Opus (Most Intelligent): Best for complex tasks, deep reasoning, coding, and strategic analysis. It is the most powerful but slower and more expensive.
- Sonnet (Balanced): It provides the best balance of speed, intelligence, and cost, making it ideal for daily coding, data analysis, and content generation.
- Haiku (Fastest): Optimized for speed and cost-efficiency. It is perfect for high-volume tasks, quick responses, and simple, repetitive jobs.
You can test the script with different models and figure out the best one for your use case. I used Claude Opus 4.7 for this demo.
Persisting History
Instead of generating standalone briefings, store each run with a timestamp. This turns your system into a time-series of news summaries. Once you have history, you can:
- Compare today vs yesterday (what’s new, what disappeared)
- Track theme momentum (what’s increasing or fading)
- Ask Claude for delta summaries instead of fresh-only summaries
Example prompt changes:
“Compare today’s briefing with yesterday’s. Highlight new, removed, and shifting themes.”
Conclusion
The key takeaway here is that LLMs work best when they’re grounded in high-quality external data. In this project, SerpApi provides structured, real-time Bing News data, while Claude turns that raw information into something readable and useful: a concise daily briefing with themes, summaries, and context.
Instead of asking a model to know everything, we can give it fresh information and let it focus on synthesis and reasoning.
I hope you found this useful. If you have any questions, feel free to reach out at contact@serpapi.com
Relevant Links
Related Blog Posts


