Chart URLs that keep working

A chart URL is just an image address. PlotLark offers two: a self-describing request that carries the entire configuration, and a short saved address that stays the same while the chart behind it changes.

  • Works in any <img> tag
  • Editable behind a fixed address
  • Revocable in one click
Uptime by month (%)100755025099.199.499.899.699.9100JanFebMarAprMayJunPLOTLARK
This chart is defined entirely by its URL.
URL
https://www.plotlark.com/api/chart?type=line&title=Uptime+by+month+%28%25%29&labels=Jan%2CFeb%2CMar%2CApr%2CMay%2CJun&values=99.1%2C99.4%2C99.8%2C99.6%2C99.9%2C100&width=900&height=520&color=%2370c9b0&background=%23fffdf8&grid=true&valuesOn=true
HTML
<img src="https://www.plotlark.com/api/chart?type=line&title=Uptime+by+month+%28%25%29&labels=Jan%2CFeb%2CMar%2CApr%2CMay%2CJun&values=99.1%2C99.4%2C99.8%2C99.6%2C99.9%2C100&width=900&height=520&color=%2370c9b0&background=%23fffdf8&grid=true&valuesOn=true" alt="Uptime by month (%)" width="900" height="520" />

No account and no key needed for these requests. Swap /api/chart for / to reopen the same configuration in the studio.

Self-describing request URLs

Everything is in the query string
Type, title, labels, values, size, and colours all travel in the link, so it needs no account and no lookup. Anyone who can read the URL can also read the data in it.
Cached at the edge
Responses carry an ETag and Cache-Control: public, max-age=300, s-maxage=300, stale-while-revalidate=86400, so a widely viewed chart is mostly served without touching the renderer.
Editable
Swap /api/chart for / and the same link opens in the studio with the configuration loaded, ready to change.

Stable saved URLs

Short and opaque
Saving a chart while signed in produces /render/<chart>.svg and .png addresses guarded by a random token. The link reveals neither your account nor the underlying numbers.
Update in place
Editing a saved chart changes what the same URL renders, so a published report picks up the corrected figure without re-sending the link. Cached copies can lag by up to the five-minute cache window.
Revocable
Turning off public embedding, or deleting the chart, makes the next origin request return 404, though CDN copies can persist for the length of the cache window. Treat an active link like an unlisted page: anyone holding it can render the chart.

What the render counter measures

Saved charts show how many times the origin drew the image. That number is deliberately not a view count.

Origin renders only
A request answered by the CDN cache never reaches the renderer, so real viewers will usually outnumber the counter.
No per-viewer data
The counter is a single total. PlotLark does not record who loaded an embed, from where, or how often.

What PlotLark does not do

These limits apply before you start, so nothing on this page promises more than the renderer delivers.

  • One non-negative numeric series per chart, from 1 to 12 points.
  • Bar, line, area, and donut. No stacked, dual-axis, or time-series grammar.
  • 320–1600 px wide and 240–1200 px tall, on a solid six-digit hex background.
  • Anonymous rendering is capped at 60 origin requests a minute per address.

Common questions

What is the difference between the two URL types?

A request URL carries the whole configuration and needs no account, but changes whenever the data changes. A saved URL is short and opaque, keeps working after edits, and can be revoked — it requires signing in.

Can someone guess a stable chart URL?

The address combines a random chart identifier with a random token, and requests without the correct token return 404. It is unguessable in practice, but anyone you send it to can render the chart, so treat it as unlisted rather than private.

How do I stop an embed from working?

Disable public embedding for that chart, or delete it. Either action makes the next origin request return 404, although an already-cached copy can still be served until the five-minute cache window expires.