Commerce operator intelligence
https://commerce-signal.mediamonitor.live/api/public-newsletter-latest
Public JSON API
Media Monitor ingests a high volume of sources daily, runs AI relevance scoring plus an editorial gatekeeper, dedupes the feed, and exposes the few highest-signal stories per newsletter.
API Overview
The endpoint returns the latest published issue and its ordered top stories. Use the optional
?dispatch=<id-or-slug> query parameter to target a specific newsletter on the same stage.
https://commerce-signal.mediamonitor.live/api/public-newsletter-latest
https://growth-stack-brief.mediamonitor.live/api/public-newsletter-latest
https://ai-coding.mediamonitor.live/api/public-newsletter-latest
Live Widget
This widget fetches the Commerce Signal public endpoint in the browser and renders the issue's
topStories in the API's best-first order.
Response Schema
The response is JSON, never rendered email HTML. The issue can be null when nothing
has been published yet.
| Field | Type | Meaning |
|---|---|---|
version |
number | Schema version. Current value is 1. |
generatedAt |
ISO datetime string | When the public JSON payload was generated. |
newsletter.id |
string | Newsletter identifier. |
newsletter.slug |
string | Newsletter slug. |
newsletter.title |
string | Human-readable newsletter title. |
issue |
object or null | Latest published issue, or null when nothing is published yet. |
issue.issueId |
string | Latest issue identifier. |
issue.dispatchId |
string | Dispatch/newsletter identifier for the issue. |
issue.subject |
string | Published issue subject line. |
issue.createdAt |
ISO datetime string | When the issue was created. |
issue.leadSignalCount |
number | Count of lead signals exposed for the issue. |
issue.topStories |
array | Ordered best-first by relevancyScore. |
issue.topStories[].title |
string | Story headline. |
issue.topStories[].url |
string URL | Source article URL. |
issue.topStories[].summary |
string | Short story summary. |
issue.topStories[].sourceLabel |
string | Source label shown with the story. |
issue.topStories[].categoryLabel |
string | Newsletter category label for the story. |
issue.topStories[].relevancyScore |
number, 0-100 | The newsletter's own AI-refined relevance ranking. |
Copy-Paste Examples
curl -s \
https://commerce-signal.mediamonitor.live/api/public-newsletter-latest
const response = await fetch(
"https://commerce-signal.mediamonitor.live/api/public-newsletter-latest",
{ headers: { Accept: "application/json" } }
);
if (!response.ok) throw new Error("Latest issue unavailable");
const payload = await response.json();
if (!payload.issue) {
// Nothing published yet. Render an empty state.
} else {
// Already ordered best-first by relevancyScore.
const stories = payload.issue.topStories;
}
Treat issue: null as a normal empty state for a new or paused newsletter.
The API returns topStories ordered by the newsletter's own relevancyScore.
The endpoint returns public story metadata only: no subscriber data, email addresses, or PII.