Create the chart once.
Keep it updated from code.

Your backend, cron job, or script pushes data whenever it changes. The chart stays at the same embed URL, always showing the latest state. No chart library, no frontend work.

plotmarks.com/charts/ch_abc123

Sound familiar?

You need a chart in your product but don't want to build another charting frontend

Your cron job or backend service produces data that deserves a visualization

The chart isn't your product. It shouldn't take a sprint to ship

How it works

1

Get an API key

Sign up, copy your key. No card required.

2

Create a chart slot

POST the chart type and config. Get back an embed URL.

3

Push data and embed

Your backend, cron job, or script keeps pushing data. The chart stays current without touching a dashboard.

# 1. Create a chart slot
curl -X POST https://www.plotmarks.com/api/charts \
  -H "X-API-Key: pk_live_..." \
  -d '{"type":"line","output_type":"live_iframe","refresh_interval":30}'

# → { "id": "ch_abc123", "embedUrl": "https://www.plotmarks.com/charts/ch_abc123" }

# 2. Push your data whenever it changes
curl -X POST https://www.plotmarks.com/api/charts/ch_abc123/data \
  -H "X-API-Key: pk_live_..." \
  -d '{"plots":[{"color":"#4F46E5","data":[{"x":"Jan","Revenue":42000},{"x":"Feb","Revenue":58000}]}]}'

# 3. Drop the embed URL in your app — done
<iframe src="https://www.plotmarks.com/charts/ch_abc123" />

Why developers use PlotMarks

Not just “charts through an API”. Persistent charts your systems keep current.

No frontend required

No chart library to install, no component to build, no state to manage. If you can make an HTTP request, you can have a chart.

Works from any stack

Python, Node.js, Go, Ruby, bash. Anything that can POST JSON works: cron jobs, webhooks, CI pipelines, backend services.

One persistent embed URL

The chart URL never changes as data updates. Embed it once in your app, Notion page, or client report and it stays current automatically.

No dashboard after setup

Configure the chart once. After that, your systems update the data. No manual dashboard visits, no human in the loop.

Frequently asked questions

What languages and stacks does this work with?

Any language that can make HTTP requests: Python, Node.js, Go, Ruby, PHP, bash, or anything else. If it can POST JSON, it works with PlotMarks.

Is it really free?

Yes. Free accounts get 5 chart slots with no credit card required. Sign up and get your API key in under 30 seconds.

What's the difference between a static and live iframe?

A static iframe renders the chart with whatever data was last pushed and does not update automatically. A live iframe polls for new data on a configurable interval (30 seconds to 24 hours on free) and updates in place without a page reload.

Can I update a chart from a cron job or script?

Yes, that's a primary use case. Any scheduled process that can make an HTTP POST can push new data. The embed URL stays the same and always reflects the latest pushed state.

How is this different from Chart.js or Recharts?

Chart.js and Recharts are frontend libraries. You install them in your app, write rendering code, manage state, and handle updates yourself. PlotMarks is a hosted service: push data via API and get back an embeddable iframe. No frontend code required.

What chart types are supported?

Bar, line, pie, doughnut, scatter, and radar. Each type is configurable: axis labels, colors, multiple series, stacked bars, fill areas, and more.

Ready to try it?

Free to start. No credit card required.

Get your free API key