# Panel or API: choosing how to send

> Same balance, same rates, same reports. When the campaign composer is the right tool, when the API is, and how teams use both without stepping on each other.

Updated 2026-08-30. Level: Beginner. By SMSMeteor.

## Key takeaways

- Same balance, rates and reports either way.
- Campaigns belong in the panel, events in the API.
- Tag API traffic with a campaign to group it in reports.
- One key per system, smallest scope.

## What is identical

One account has one balance, one rate card and one report. A message costs the same whether it left from the composer or from a script, appears in the same list, and triggers the same webhooks. The choice is about workflow, not price or quality.

## When the panel wins

A campaign is a file, a text and a date. The composer imports the file, shows the cost per country, previews the longest rendered row, lets you schedule by local time and follows delivery live. Marketing teams, support teams and anyone sending a few campaigns a week rarely need more.

## When the API wins

Codes, alerts, receipts and anything triggered by an event in your system belong in the [API](https://smsmeteor.com/api): one request per message, an idempotency key so retries are safe, a webhook so your system knows what landed. Bulk sends from your own data pipeline use the batch endpoint, up to 1,000 messages per request, with the same scheduling options as the composer.

## Using both

Most accounts do. Tag API messages with a `campaign` so they group like panel campaigns in the report; use a separate key per system so revoking one does not stop the others; set a low-balance webhook so a script never stalls a campaign the marketing team scheduled for tomorrow.

## Keys and access

Keys are scoped to send, read or both, and can be limited to an IP allowlist. The test key lets a developer integrate without spending. There is no separate developer plan or approval step: the same account that sends from the panel creates a key and sends from code a minute later.

---
Source: https://smsmeteor.com/guides/panel-or-api (HTML). Generated by SMSMeteor from the same data as the page. Summary of the whole site: https://smsmeteor.com/llms.txt
