Handwritten notes API comparison for developers
Handwritten card APIs compared: auth, test mode, webhooks, idempotency, address checks, docs and SDKs at Handwrytten, IgnitePOST, Scribeless and more.
If you are wiring handwritten cards into a product, the API matters more than the marketing page. A paper card cannot be recalled once it is mailed, so the details that are minor in most APIs, like retries, duplicate handling, and address checks, decide whether a customer gets one card, two cards, or none. This comparison covers six services that offer an API for pen-written cards: Handwrytten, IgnitePOST, LettrLabs, Simply Noted, Scribeless, and notecardHQ, which we run.
Everything below comes from each vendor's public docs and pages, checked on October 25, 2026. APIs change, so treat this as a starting point and read the current docs. Two labels in the tables are worth defining. "Not found" means we did not find it documented in the pages we reviewed. "Not checked" means we did not review that part, so we make no claim either way.
Auth, test mode, and webhooks
| Service | Auth | Test mode | Webhooks |
|---|---|---|---|
| Handwrytten | API key in Authorization, no Bearer prefix | Yes | Per-order webhook_url; no documented events or signatures |
| IgnitePOST | X-TOKEN header | Yes | On fulfilled, up to 5 retries over about 6 minutes |
| LettrLabs | Not checked | Not checked | Not checked |
| Simply Noted | x-api-key and x-user-id headers | Not mentioned | Listed as a plan feature; events not checked |
| Scribeless | X-API-Key header | Not mentioned | Recipient lifecycle and QR scan events, with test and resend tools |
| notecardHQ | Bearer key | Yes: test keys | Signed (HMAC-SHA256), every status change, retried for about two days |
Idempotency, addresses, docs, and SDKs
| Service | Idempotency | Address check | Docs | SDKs |
|---|---|---|---|---|
| Handwrytten | Not found | Optional validate_address; free CASS validation on Enterprise | OpenAPI spec v3.15.0, Redoc | Python, npm |
| IgnitePOST | Not found | Not found | Public docs | Not found |
| LettrLabs | Not checked | NCOA add-on per record | Public docs | Not checked |
| Simply Noted | Not found | Not found | Hosted on Postman | None mentioned |
| Scribeless | Not found | Not found in API docs | Public docs | Not found |
| notecardHQ | Idempotency-Key header | US addresses verified before acceptance | Public docs, quickstart, recipes | No official SDK listed |
Sources for both tables: the Handwrytten OpenAPI spec, Handwrytten API page and pricing; the IgnitePOST API docs; the LettrLabs homepage and pricing; the Simply Noted API page and pricing; and the Scribeless docs.
Which plan gets you the API
- Handwrytten: included in every business plan, from $449 a month, per its pricing page.
- IgnitePOST: unlimited API calls on all plans, per its pricing page.
- LettrLabs: included on the free Starter tier, per its pricing page.
- Simply Noted: on the Unlimited plan at $497 a month, per its pricing page.
- Scribeless: subscriptions for integration-based campaigns are priced by its sales team, per its pricing page.
- notecardHQ: every account, no monthly fee. You pay per card mailed, and canceled notes never bill.
Service by service
Handwrytten
The most complete published spec in the group. Its OpenAPI spec covers 49 paths, and POST /orders/singleStepOrder is described as the only endpoint most integrations need. Test mode accepts orders without fulfilling them and authorizes payments without capturing them. Official SDKs ship on PyPI and npm. The webhook_url is a bare field per order, with no documented event list or signature scheme, and rate limits are not documented. The spec lists an optional validate_address flag on orders, and the Enterprise plan adds free CASS address validation, per its pricing page. Handwrytten also lists a Claude connector on its integrations page.
IgnitePOST
A clean REST design at dashboard.ignitepost.com/api/v1, documented in its public API docs. Test mode works with an X-TESTING: true header or a non-live key, and test orders are not persisted. There are endpoints for templates, fonts, images, inserts, orders, and previews. Messages are capped at 450 characters, and send_on defaults to three business days out. The single webhook fires on fulfillment, so anything earlier in the lifecycle means polling. We compare it with ours in more depth in IgnitePOST alternative.
LettrLabs
LettrLabs points to public API docs from its homepage and includes API access free. We did not review those docs, so we make no claims about its auth, test mode, or webhooks. Its pricing page lists NCOA address updates at $0.025 to $0.03 per record.
Simply Noted
Its API page describes a REST v2 API with x-api-key and x-user-id headers, one curl example, and docs hosted on Postman. No sandbox or SDK is mentioned. Webhooks are listed among the Unlimited plan's features on its pricing page, and its llms.txt describes individual or batch requests "via webhook or scheduled job."
Scribeless
The Scribeless docs describe a campaign-based API at platform.scribeless.co/api: templates, campaigns, recipients (including bulk HTML, PNG previews, and checkout), and partner workflows for creating partner teams. Its webhooks are the broadest among the docs we reviewed, covering recipient lifecycle events and QR scans, with tools to test and resend them. No sandbox is mentioned. Note that how Scribeless produces its handwriting, pen or print, is disputed: its docs describe rendering handwriting as a PNG and do not mention pens.
notecardHQ
One card per request: POST /api/v1/notes with a Bearer key. The Idempotency-Key header means the same key and the same body return the same note, never a second card. US addresses are verified before a note is accepted, and an undeliverable address returns a 422 with nothing created. A note's status is created, card_printed, card_dispatched, or cancelled, and you can GET it at any time. Each note is written by a robot holding a real pen, after OCR has read every word back. Our handwritten notes API guide covers the request in detail.
The gaps, plainly: there is no native CRM marketplace app; Stripe, Shopify, and Zapier work through our recipes. There are four handwriting styles and no custom fonts.
Why idempotency and address checks matter more for paper
In most APIs, a duplicate request makes an extra database row you can delete. Here it makes a second envelope in someone's mailbox. Queues redeliver, workers retry after timeouts, and webhooks from your own systems fire twice. An idempotency key built from something stable, like an order ID plus the reason for the card, turns all of those into one card.
Address checks matter for the same reason. A card mailed to an undeliverable address costs you the card and tells you nothing. Rejecting it at request time puts the error where your code can handle it.
What to test before you choose
- Send the same request twice with a deliberate timeout. How many cards would go out?
- Submit a bad US address. Do you get an error now, or a returned card later?
- Find out which events you can receive, and whether payloads are signed.
- Check which plan unlocks the API, and what it costs at your volume. Our roundup of handwritten note services lists published prices.
For broader comparisons, see the compare page and our pricing.
Start with the quickstart, or read the full reference in the notecardHQ API docs.