A chart API that returns an image, not a canvas

PlotLark answers one question well: given a small series and some styling, return a picture of it. There is no bundle to ship, no chart object to configure, and nothing to run in the browser at the other end.

  • Server-rendered images
  • Transparent query parameters
  • Bounded, documented limits
Monthly recurring revenue806040200182736445872JanFebMarAprMayJunPLOTLARK
An area chart produced entirely by the request below.
URL
https://www.plotlark.com/api/chart?type=area&title=Monthly+recurring+revenue&labels=Jan%2CFeb%2CMar%2CApr%2CMay%2CJun&values=18%2C27%2C36%2C44%2C58%2C72&width=900&height=520&color=%23ff7b5c&background=%23fffdf8&grid=true&valuesOn=true
cURL
curl "https://www.plotlark.com/api/chart?type=area&title=Monthly+recurring+revenue&labels=Jan%2CFeb%2CMar%2CApr%2CMay%2CJun&values=18%2C27%2C36%2C44%2C58%2C72&width=900&height=520&color=%23ff7b5c&background=%23fffdf8&grid=true&valuesOn=true" --output chart.svg

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

An image API and a chart library solve different problems

Neither replaces the other. The question is whether the viewer's environment can run your code.

SituationImage APIClient-side library
Email, PDF, README, bot messageWorks — it is only an imageDoes not run at all
Hover, zoom, drill-downNot availableThe right tool
Server-generated reportsOne request per chartNeeds a headless browser
Page weightOne cached image requestA charting bundle plus data

What this API is not

Not a graph data API
Searches for "graph api" usually mean Microsoft Graph. PlotLark has nothing to do with identity, mail, or org data; it draws charts.
Not an interactive chart runtime
The response is a finished image. Tooltips, animation, and zoom belong to a library that runs in the page.
Not a data warehouse
There are no connectors, scheduled refreshes, or uploads. You pass the numbers with the request, or save a chart and update it yourself.

The supported surface, in full

This is the entire API. Everything the renderer understands is listed here.

ParameterAcceptsDefault
typebar, line, area, or donutbar
titleChart heading, up to 100 charactersMonthly progress
labelsComma-separated labels, up to 36 characters eachJan,Feb,Mar
valuesComma-separated non-negative numbers24,38,52
width320–1600 pixels800
height240–1200 pixels480
colorSix-digit hex accent colour#ff7b5c
backgroundSix-digit hex background colour#ffffff
gridDraw horizontal guide linestrue
valuesOnPrint the value beside each pointtrue
formatsvg or pngsvg

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

Is this the same as the Microsoft Graph API?

No, and the two are unrelated. Microsoft Graph exposes organisational data. PlotLark takes a small series and returns a chart image.

What are the rate limits?

The anonymous endpoint allows 60 origin requests a minute per address. An account key allows 500 renders per UTC day and 120 a minute, with the remaining allowance returned in response headers.

Can I use it without signing up?

Yes. The studio and GET /api/chart work with no account. Signing in adds saved charts, stable revocable URLs, API keys, and visible usage totals.