Convergence APIwebgames.convergence.ai ↗
Extract structured stock analysis data from the Advanced Stock Market Analysis (Hard) report: sections, tickers, sentences, and final recommendation via one endpoint.
What is the Convergence API?
The webgames.convergence.ai API exposes 1 endpoint — get_stock_report — that returns the full structured content of the Advanced Stock Market Analysis (Hard) report as 6 top-level response fields, including section headings, analysis paragraphs, individual sentences tagged by ticker, and the highlighted final investment recommendation. Placeholder text and sponsored advertisements are excluded from every response.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/b276d92b-89c0-4666-97b3-227665ef26d8/get_stock_report' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace webgames-convergence-ai-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: stock analysis SDK — fetch and explore the report."""
from parse_apis.webgames_convergence_ai_api import StockAnalysis, ParseError
client = StockAnalysis()
# Fetch the full stock market analysis report.
try:
report = client.reports.get()
except ParseError as e:
print(f"Extraction failed ({e.code}): {e}")
raise
print("Report:", report.title)
print("Tickers mentioned:", report.tickers)
# Walk each section and its analysis paragraphs.
for section in report.sections:
print(f"\n## {section.heading}")
for paragraph in section.paragraphs:
print(f" {paragraph.text[:120]}...")
if paragraph.tickers:
print(f" Tickers: {paragraph.tickers}")
# Find sentences flagged as recommendations.
for sentence in report.sentences:
if sentence.is_recommendation:
print(f"\nRecommendation sentence: {sentence.text}")
print(f" Section: {sentence.section}, Tickers: {sentence.tickers}")
# Access the highlighted recommendation directly.
if report.recommendation is not None:
rec = report.recommendation
print(f"\nHighlighted pick: {rec.ticker}")
print(f" \"{rec.sentence}\" (from {rec.section})")
print("\nexercised: reports.get")
Returns the visible analysis content of the Advanced Stock Market Analysis (Hard) report in one call (two round trips upstream, no pagination). Placeholder lorem-ipsum paragraphs and sponsored recipe/product advertisements are excluded. The result contains the report sections in page order, each with its heading and non-placeholder analysis paragraphs; a flat list of sentences (one row per sentence, in page order) with the section it belongs to, the ticker symbols mentioned in it, and whether it is the report's final recommendation sentence; the ordered list of all distinct tickers mentioned; and the recommendation object naming the ticker the report singles out (null if the report no longer highlights one). Tickers are detected as uppercase symbol tokens in the sentence text; well-known non-ticker acronyms that appear in the report (AI, AWS, AR, VR) are excluded. Sentence texts carry the financial metrics and expert opinions verbatim (one shape: a sentence mentioning a P/E ratio concern). The report has no caller inputs; if the page or its content cannot be found the call returns an extraction error.
No input parameters required.
{
"type": "object",
"fields": {
"title": "report title as shown on the page",
"tickers": "array of distinct ticker symbols mentioned across the report, in first-appearance order",
"sections": "array of report sections in page order, each {heading, paragraphs: [{text, tickers}]} with only non-placeholder analysis paragraphs",
"sentences": "array of analysis sentences in page order, each {section, text, tickers, is_recommendation}",
"recommendation": "object {ticker, sentence, section} for the report's highlighted final recommendation, or null if none is highlighted"
},
"sample": {
"data": {
"title": "Advanced Stock Market Analysis (Hard)",
"tickers": [
"MSFT",
"NVDA",
"AMD",
"TSM",
"INTC",
"AMZN",
"META",
"SHOP",
"GOOG",
"AAPL",
"TSLA",
"IONQ",
"MRNA",
"ZM"
],
"sections": [
{
"heading": "Market Overview Q1 2024",
"paragraphs": [
{
"text": "Several analysts point to MSFT as a continued leader in cloud computing, but its P/E ratio is a concern for some value investors.",
"tickers": [
"MSFT"
]
}
]
},
{
"heading": "E-commerce and Digital Advertising Landscape",
"paragraphs": [
{
"text": "The digital advertising space is evolving rapidly. While many focus on the giants, there are smaller, niche players to consider. However, for stability and long-term growth in this sector, one company stands out. Despite recent market fluctuations, their core search and advertising business, coupled with significant investments in AI and quantum computing, positions them uniquely. We are talking about Alphabet here. Their ticker, if you are looking for the absolute prime investment for 2025, is GOOG. This is the one.",
"tickers": [
"GOOG"
]
}
]
}
],
"sentences": [
{
"text": "Several analysts point to MSFT as a continued leader in cloud computing, but its P/E ratio is a concern for some value investors.",
"section": "Market Overview Q1 2024",
"tickers": [
"MSFT"
],
"is_recommendation": false
},
{
"text": "Their ticker, if you are looking for the absolute prime investment for 2025, is GOOG.",
"section": "E-commerce and Digital Advertising Landscape",
"tickers": [
"GOOG"
],
"is_recommendation": true
}
],
"recommendation": {
"ticker": "GOOG",
"section": "E-commerce and Digital Advertising Landscape",
"sentence": "Their ticker, if you are looking for the absolute prime investment for 2025, is GOOG."
}
},
"status": "success"
}
}About the Convergence API
What the API Returns
The get_stock_report endpoint returns everything a developer needs to programmatically consume the Advanced Stock Market Analysis (Hard) report in one call. The response includes the title of the report, a tickers array listing every distinct ticker symbol in first-appearance order, and a sections array that preserves the original page order. Each entry in sections carries a heading and a paragraphs array; each paragraph object contains its text and a tickers array identifying which symbols appear in that paragraph. Only substantive analysis paragraphs are included — lorem-ipsum filler and sponsored content are filtered out.
Sentences and Recommendation
Beyond the section/paragraph hierarchy, the response also provides a flat sentences array. Each sentence object includes the section it belongs to, the full text, its associated tickers, and an is_recommendation boolean that flags whether the sentence is the report's highlighted conclusion. The recommendation field at the top level surfaces that conclusion directly as a {ticker, sentence, section} object, making it trivial to extract the final call without traversing the full sentence list. If no recommendation is highlighted in the source report, this field is null.
Inputs and Pagination
The endpoint takes no input parameters — the report URL is fixed. There is no pagination; all sections and sentences are returned in a single response across two upstream round trips. This makes the endpoint straightforward to integrate into scheduled pipelines or real-time dashboards that need the current state of the report without managing cursor state.
The Convergence API is a managed, monitored endpoint for webgames.convergence.ai — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when webgames.convergence.ai changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official webgames.convergence.ai API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Automatically extract the final stock recommendation ticker and rationale from the report for alert systems
- Build a ticker-mention frequency tracker using the
tickersarray and per-sentencetickersfields - Feed the
sectionsandparagraphsdata into an NLP pipeline for sentiment or entity analysis - Diff consecutive
get_stock_reportresponses to detect when report sections or recommendations change - Index the
sentencesarray bysectionto display a structured, navigable version of the report in a custom UI - Test or benchmark LLM agents against the structured analysis content from this hard-mode financial reasoning challenge
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does webgames.convergence.ai have an official developer API?+
What does the `recommendation` field return, and when is it null?+
recommendation field returns a {ticker, sentence, section} object identifying the report's highlighted final investment call. It is null when the source report contains no visually distinguished recommendation. The is_recommendation flag on individual entries in the sentences array mirrors the same logic.Does the API cover historical versions of the report or multiple report difficulty levels?+
Are all paragraphs on the source page returned?+
sections[].paragraphs array. If the source page's placeholder content changes, the filtering logic applied remains the same.