API, MCP & CLI
API, MCP server & CLI
Create an API key in Settings, connect Claude or another AI app over MCP, use the ListingView CLI, and let an agent research, upload designs and make Etsy drafts, with publishing on a separate key and a confirm step.
Updated
An API key lets an AI app like Claude, a script, or the ListingView command-line tool work with your ListingView account. It can research the Etsy market, browse your listings and asset library, upload files, write listing copy, build presets and turn them into Etsy drafts. You choose what each key can do. Making anything live on Etsy takes its own separate key and a confirm step.
There are three ways in, and they all use the same key:
MCP server. Connect Claude or another AI app that supports MCP, then ask for things in plain language.
CLI. The
listingviewcommand, for your terminal and for agents that run commands.REST API. Call ListingView from your own code.
Developers can start with API: Getting started. All the guides are listed under For developers near the end of this page.
What you can do with the API, MCP server & CLI
Research the Etsy market: keywords, tags, and other shops and listings
Read your listings, jobs, presets, asset library and your own shop's stats
Create and edit listings in ListingView, one at a time or in bulk jobs
Upload designs and the files your digital listings deliver, or import an image from a public link
Organize your asset library
Build print-on-demand, digital and physical presets, and copy them to your other shops
Get AI-written titles, tags and descriptions from your artwork, or improve copy you already have, paid from your AI token balance
Turn a preset and a batch of designs into Etsy drafts in one job, or stage the batch first so you can review it in ListingView. Shoppers never see drafts.
Delete Etsy drafts that ListingView made
Publish listings and reprice live print-on-demand listings, with a separate Publisher key and a confirm step
Rehearse with a test key, which changes nothing
Who can use it
API keys come with every paid plan. What a key can do depends on your plan.
Plan | API keys | What keys can do |
|---|---|---|
Free | No | Upgrade to any paid plan to create keys. |
Scout | Yes | Research the Etsy market and see your shop's stats. Read your listings, presets and asset library. Edit existing listings one at a time. Create, edit and copy digital and physical presets. Upload and organize files. Get AI copy from artwork. |
Plus, Scale and Scale Max (legacy paid plans count as Plus) | Yes | Everything on Scout, plus creating listings in ListingView, bulk edit jobs, AI suggestions for an existing listing, print-on-demand presets, Create Etsy drafts and Publish to Etsy. |
Higher plans also get bigger daily and monthly limits. On Scout, the Etsy options in the key form show Plus and above next to them.
If you change plans, your keys keep working but follow your new plan right away. Anything the new plan doesn't include is refused with a plan error. If you cancel your subscription, every key stops working until you subscribe again.
How to create an API key
Open Settings → API Keys. On the Free plan you'll see "API keys come with every paid plan" with a View plans button instead.
Click Create key.
Name the key. For example,
tee-drops. The name appears in Bulk Create and in your notifications whenever this key does something.Choose the access. Under Access, pick one of the presets below. To choose individual permissions instead, open Customize scopes.
Rehearsing? Tick Test key (no real changes). The button then reads Create test key. See Test keys below.
Read the notice. A key that can change Etsy shows a notice explaining what it can do.
Choose when it expires (optional). Under Expires, the choices are Never — revoke any time, In 30 days, In 90 days or In 1 year. Keys that can change Etsy also stop working after 60 days without use.
Click Create key.
Save your key. The key is shown once. Click Copy API key, store it somewhere safe, then set up your app with the Connect it quickstart. Click I saved it when you're done.
Choose an access preset
Preset | What the card says | Reaches Etsy? | Plan |
|---|---|---|---|
Research Assistant | "Research the Etsy market and your shop's stats. Can't change anything." | No | Scout and above |
Catalog Editor | "Research, plus edit listings and organize files in ListingView. Nothing reaches Etsy." | No | Scout and above |
Drafting Agent | "Everything an agent needs to prepare listings: research, presets, uploads, AI copy and Etsy drafts. It can never publish — drafts stay hidden until you publish them with a Publisher key." | Creates and deletes Etsy drafts | Plus and above |
Publisher | "Publish one listing at a time — your Etsy drafts, saved edits, or listings that exist only in ListingView — through a confirm step. It can also reprice up to 20 live print-on-demand listings in one confirmed push. Apart from prices in a confirmed reprice, it can't write listing content." | Goes live on Etsy | Plus and above |
Which to pick: Research Assistant to change nothing, Catalog Editor to tidy files or edit listings inside ListingView, Drafting Agent to turn designs into Etsy drafts, and a separate Publisher key to publish or reprice from an AI app or your own code. To publish in the app, you don't need a key at all: use the Publish button in ListingView.
Customize scopes
Customize scopes lists every permission, grouped by how far it reaches.
Group | Option | What it allows |
|---|---|---|
Read only | Research Etsy | Search listings, shops, keywords and tags, see your shop's stats, and read the key's budgets. |
Read only | See your listings and files | Read your listings, jobs and asset library. |
Read only | See your presets | Read preset names, defaults and design slots. |
Changes in ListingView | Edit listings in ListingView | Create and edit listings in ListingView and get AI copy suggestions (uses AI tokens). Nothing reaches Etsy. |
Changes in ListingView | Upload and organize files | Upload designs and delivery files, import images from links, and organize your library. Can't delete files or download originals. |
Changes in ListingView | Create and edit presets | Create, edit, copy and delete presets. Never changes listings. |
Changes on Etsy | Create Etsy drafts | Create Etsy drafts without asking you first, up to your plan's daily limit per shop, and delete Etsy drafts that ListingView created (never live listings). |
Changes on Etsy | Publish to Etsy | Push changes to, publish, or create-and-publish one listing at a time, or reprice up to 20 live print-on-demand listings at once. Each change needs a confirm step. |
Changes on Etsy (Advanced) | Skip publish confirmations | Lets the agent publish without asking you. Highest risk. Only for agents you fully trust. |
Create Etsy drafts and Publish to Etsy can never be on the same key. Choosing one turns the other off with a note, for example: "Can't be combined with 'Create Etsy drafts' — make a separate Publisher key".
Skip publish confirmations only works together with Publish to Etsy. To keep it on, you must tick "I understand this agent can publish to my live Etsy shop without asking me first." The key then shows an amber auto-confirm badge. Most sellers should leave it off.
The notice you'll see
A key that can create Etsy drafts shows this notice. N is your plan's daily limit.
This key can create Etsy drafts without asking you each time. Drafts are hidden from shoppers, and this key can never publish them — publishing needs a separate Publisher key. It can also delete draft listings that ListingView created in your Etsy shop, never live ones, and you'll get a notification each time. Up to N drafts per shop per day on your plan. Batches it saves for your review appear under Saved listings, and its jobs appear in Bulk Create with this key's name. Revoke the key any time to stop it.
A Publisher key shows its own notice ("This key can make changes live on Etsy."), covered under Publish and reprice live listings. A test key's notice says it can't change anything.
Your key is shown once
ListingView stores only a fingerprint of your key. Nobody, including our support team, can show it to you again. If you lose it, revoke it and create a new one.
Treat a key like a password. Never paste it into a public page, a shared document or a support message.
Live keys start with
lv_live_and test keys withlv_test_. ListingView emails you whenever a new key is created on your account. If you didn't create it, revoke it right away.
Test keys
A test key lets you run a whole flow against your real account without changing anything. It shows a test badge in your key list.
Changes are dry runs. They're checked like live calls, then answered with what would have happened. Nothing is saved, nothing reaches Etsy or Printify, and no AI tokens are used.
Reads are real. Reads and market research use your real data and cost API credits as usual.
Same rules as a live key. It follows the same access and plan rules, and it counts toward your 10 keys.
Some checks can't be proven. A check that needs Etsy or Printify can come back
unverified. Run that step once with a live key before you rely on it.
See Rehearse with a test key in API: Getting started.
Connect an AI app (MCP)
Create a key for the job you want the app to do, for example a Drafting Agent key.
Copy the MCP config. On the Save your key step, open the MCP config tab under Connect it and click Copy MCP config. The snippet already includes the address and your key, and it tells you how many tools your agent will see.
Add it to your AI app. It works in Claude Code and Cursor. Paste it wherever your app adds a remote (HTTP) MCP server. In Claude Code, for example, that's the project's
.mcp.json. The snippet looks like this:{ "mcpServers": { "listingview-drafts": { "type": "http", "url": "https://api.listingview.io/mcp", "headers": { "Authorization": "Bearer lv_live_…" } } } }
The server name follows the key. A key that makes Etsy drafts is
listingview-drafts, a key that publishes islistingview-publish, and every other key islistingview.Ask for something. For example:
"How much demand is there for linen aprons on Etsy?"
"Write a title and tags for this design."
"Stage Etsy drafts of these 3 designs with my Halloween sweatshirt preset so I can review them."
Under every MCP snippet you'll see this warning. Take it seriously:
Use this key in its own app or chat. Don't add your drafting and publishing keys to the same chat or agent: enabling both in one chat removes the split; prompt-injected listing text could then publish.
Good to know:
Your agent only sees what the key allows. If it tries something the key can't do, it gets an error naming the preset that can.
Publishing from an AI app needs your confirmation. With a Publisher key, every call shows what will change and waits for a confirmation, which your app shows you.
Claude Desktop and custom connectors on claude.ai are coming soon. They need a sign-in, which API keys don't support yet.
Uploading from a chat window. Chat apps often can't send files themselves. Give the agent a public image link to import, or upload the file in Asset Library and tell the agent its name.
More setup help is in API: Connect AI apps.
Use the CLI
The CLI needs Node.js 18.3 or newer.
npx @listingview/cli auth login # paste your key at the hidden prompt npx @listingview/cli usage get # your first call: today's budget npx @listingview/cli describe # every command your key can use
To type listingview instead of npx @listingview/cli, install it once with npm install -g @listingview/cli.
Signing in.
auth loginsaves the key on this computer, readable only by you. For agents and automation, setLISTINGVIEW_API_KEYinstead. To keep several keys, save each under its own--profile.Signing out doesn't revoke.
listingview auth logoutremoves the key from this computer only.Exit code 9 means check first. ListingView can't tell whether something happened, so check your shop before trying again.
The CLI doesn't publish yet. Use the Publish button in ListingView, or a Publisher key in an AI app or your own code.
Uploading designs and making Etsy drafts:
listingview assets upload front.png back.png --collection 311 listingview presets get 1667 # shows the preset's design slots (A, B, …) listingview etsy-drafts create --shop-id 38123456 --preset-id 1667 --items items.json --wait
Add --stage to etsy-drafts create to save the batch for review instead. Add --purpose digital_file to assets upload for delivery files. Re-running the same upload or Etsy-draft command is safe: you get the first result back, never a second batch.
API: Command-line tool covers every command.
Call the API directly
Send your key in an Authorization: Bearer header on every request. This first call checks that the key works. It's free and any key can make it:
curl https://api.listingview.io/api/v1/ping \ -H "Authorization: Bearer lv_live_…"
The curl tab of the quickstart has a first call with your key already filled in. The API reference lists every route and is generated live from the API.
To make retries safe, send an
X-Idempotency-Keyheader on changes. Repeating the same request with the same key returns the first result.Errors come back as
{"error": {"code", "message", "details", "isRetryable", "docs_url", "request_id"}}. Quote therequest_idwhen you contact support.
Research the Etsy market
A key with Research Etsy can look up keywords and tags, search listings and shops, and analyze or compare shops. Give an agent a Research Assistant key if it should change nothing.
It uses your API credits. Each call costs credits by how heavy it is. Research that reads Etsy live also counts toward Live Etsy calls · today.
Some rows come back short. A listing can come back with just its id, its link and ListingView's estimates.
API: Limits & budgets explains how research is counted.
Let an agent make Etsy drafts for you
This is the workflow the API is built for. You build a preset once, in ListingView or through your agent. The agent uploads your designs, writes copy from the artwork, and turns the preset into Etsy drafts. You review the drafts and publish the ones you like.
Etsy drafts are hidden from shoppers and cost no listing fee. A Drafting Agent key can create them without asking you each time, but it can never publish them.
Before you start
You're on Plus or above, and your Etsy shop is connected.
You have a preset that works. The surest way: build one listing in the app, publish it, check it on Etsy, then save it as a preset. See Presets and POD Presets & Bulk Create.
For print-on-demand presets, the Etsy shop is mapped to your Printify shop (Settings → Account), and every product in the preset has a print provider chosen.
For digital presets, the files each listing delivers are uploaded and ready.
How the drafts loop works
Upload the designs. The agent adds them to your asset library (
add_assets, orlistingview assets upload). Each file must be ready, which means processed and virus-scanned.Read the preset. The agent looks at the preset's design slots (
list_presets) to see which design goes where.Write the copy. The agent writes titles, tags and descriptions itself, or asks for AI copy from the artwork.
Create the Etsy drafts. One job turns the preset plus designs and copy into drafts in your real Etsy shop (
create_etsy_drafts). ListingView doesn't ask you first. You agreed to that when you created the key. To check the batch first, have the agent stage it instead.Wait for the job. Drafts appear one by one, each with its Etsy listing id (
get_bulk_job_status).Review and publish. Look over the drafts in Listing Optimizer and click Publish on the ones you're happy with, or use a Publisher key.
Review a batch before it reaches Etsy
Ask the agent to stage the batch (create_etsy_drafts with operation: "stage", or etsy-drafts create --stage). Nothing reaches Etsy yet, and it uses none of your daily draft limits.
Find the batch. Open Create in the sidebar, then the Saved listings tab. The agent also gets a direct link it can give you.
Open it, fix what you want and save.
Tell the agent you're done. A submit sends the last version you saved, not edits still open on your screen.
The agent submits it. ListingView checks everything again, then makes the Etsy drafts with your edits in them.
Or send it yourself. Publish to Etsy on the card sends the batch from the app. It makes Etsy drafts too, hidden from shoppers.
Batches don't expire, and there's no reminder. You can have up to 18 staged batches open, inside your account's 20 open saved batches, which the app shares.
Limits count on the day you submit. A submit refused for a daily limit leaves the batch staged.
AI copy comes first. A staged batch takes finished copy, so the agent asks for AI copy before it stages.
Discarding is safe. Nothing on Etsy changes, and your designs stay in your library.
API: Etsy drafts walks through the whole loop.
Presets and design slots
A preset's design slots are the places where each listing's artwork goes, lettered A to J. The agent sees each slot like this:
A · "Light Designs Here" · prints on dark garments (Black, Navy, Forest)
Every enabled slot must get a design. If one is empty, the whole job is refused before anything reaches Etsy.
Through the API, agents can also:
Create presets from scratch: print-on-demand, digital (the files buyers get) and physical. Print-on-demand presets need Plus or above. See API: Presets.
Edit presets. If you edit the same preset in the app while an agent is working, the agent gets an error and must read it again. Your edits are never overwritten.
Copy a preset to another of your shops. Shop settings such as the shipping profile and return policy are checked against the new shop. A mismatch is refused, with that shop's options for the agent to pick from. They're never swapped silently.
Delete a preset. It can't be deleted while a job is using it. If an agent deletes one by mistake, contact support within 30 days and we can restore it.
Uploading designs and delivery files
An agent can upload a file directly, which works from Claude Code, coding agents, scripts and the CLI, or give ListingView a public https:// link to one image, which works from chat apps too.
Upload a design | Upload a delivery file | Import from a link | |
|---|---|---|---|
File types | PNG, JPEG, WebP | PDF, ZIP, PNG, JPEG, WebP, SVG, GIF, TIFF, TTF, OTF, WOFF, WOFF2, MP3, WAV, MP4, DOCX, XLSX | PNG, JPEG, WebP, GIF (saved as a PNG of its first frame) |
Size | Up to 50 MB per file | Up to 25 MB per file | Up to 20 MB |
Per request | Up to 20 files | Up to 20 files | One image |
Photo metadata (EXIF, GPS) | Kept | Kept | Removed |
All of them count toward your storage, and your plan sets a daily limit.
Delivery files are what a digital listing's buyers get. A file's contents must match the type the agent declared.
Ready means scanned. A file the scan flags is quarantined. An archive that's too large, too deeply nested or password-protected fails, so upload the files unzipped.
Uploading the same file twice is harmless. You get the existing file back.
PSD files and mockup templates aren't accepted. Export a PNG.
Agents can organize but not delete files. They can manage collections, rename and tag files, and duplicate them. Deleting only happens in the app.
Original files never come back out. Agents only get thumbnails, never your original designs or delivery files.
API: Uploads has the details.
AI copy from your artwork
An agent can ask for a title, 13 tags and a description written from up to 6 of your designs. It can also improve copy you already have, and it follows your saved Custom Instructions unless the agent turns them off.
Paid from AI tokens, the same as in-app AI. No API credits are used. See Tokens & Credits.
Suggestions or drafts. The agent can ask for suggestions only, or, when it drafts straight to Etsy, have the copy written onto the drafts.
No blind copy. If the AI couldn't actually see a design, ListingView refuses rather than writing copy blind. White and light designs work, because ListingView picks a background that shows them.
Etsy's rules are enforced. Copy that breaks them (a title over 140 characters, more than 13 tags, a tag over 20 characters) is flagged in suggestions and refused on drafts.
Your preset text is kept. By default the AI description is added above your preset's description.
Where API jobs show up in ListingView
In Bulk Create and Job Activity. Agent-made draft jobs and reprices carry a via API label and the key's name. You can pause or cancel draft jobs in Bulk Create.
In Saved listings. Batches an agent staged wait there for your review.
In your notifications. The bell tells you when a draft job finishes. Every publish, push, reprice and Etsy-draft delete made with an API key also notifies you, naming the key.
In Etsy and Listing Optimizer. The drafts appear there like any Bulk Create draft.
Safety checks before anything reaches Etsy
ListingView checks the whole job first. If any of these fail, it refuses the job, and no drafts are made.
A design or delivery file isn't ready, or isn't in your library.
An enabled design slot is empty, or a digital listing has no file to deliver.
The preset's shop settings belong to a different shop, or the preset changed after the agent read it.
The job is bigger than your plan allows, or would go past today's draft limit for that shop or your account.
Another Bulk Create is already running on that shop.
Print-on-demand setup is incomplete: no Printify shop mapped, or no print provider chosen.
After the job starts:
Repeats don't double up. Sending the same request again returns the same job.
"Unknown outcome" means check first. Etsy sometimes doesn't confirm whether a draft was created. Check your shop before resubmitting that item.
Print-on-demand drafts can come with Printify products. These are unpublished, so they cost nothing until someone orders. A draft you delete on Etsy leaves its Printify product behind, so tidy those up in Printify.
A digital draft counts only when every file arrives. If some files didn't reach Etsy, the item is marked failed. Delete that draft and make it again.
Deleting Etsy drafts
When drafts went to Etsy wrong, for example with the wrong preset, a Drafting Agent key can delete them and draft them again.
Only drafts ListingView made. This account's Bulk Create must have made the draft, in the app or through the API. ListingView checks Etsy first and refuses if the listing is live.
What goes. The Etsy draft, its listing in ListingView and its own Printify product.
You're told every time, and there's a cap of 50 deletes a day per account.
Shared shops. If another ListingView account also manages the listing, the delete removes it for them too, so the agent must confirm that.
Don't publish by hand during a redraft. If someone makes a draft live in the split second before its delete, the live listing is deleted.
Publish and reprice live listings
A draft goes live only when someone publishes it. There are two ways:
In ListingView (always available). Open the draft in Listing Optimizer and click Publish. This is the simplest option and needs no key.
With a Publisher key (Plus and above), from an AI app or your own code.
Read AI-written copy before you publish, because nobody has checked it yet. Each publish charges Etsy's listing fee, and a live print-on-demand listing can take orders that Printify fulfils at your cost.
Drafting and publishing use two keys
A key that can create Etsy drafts can never publish, and a key that can publish can never create drafts. So an agent that does both needs a Drafting Agent key and a Publisher key.
Keep each key in its own app, chat or script. If one chat held both, text hidden in a listing could steer the agent from drafting into publishing. Two setups that work:
Simplest: the agent uses a Drafting Agent key, and you publish with the Publish button in ListingView.
Publishing from an AI app: the agent drafts in one app or chat, and a second one holds the Publisher key as
listingview-publish.
The confirm step
Every live change runs in two steps. First the agent gets a preview of exactly what will change, and nothing has changed yet. Then it confirms, within 5 minutes. A confirmation works once, for exactly that change.
It isn't a human check by itself. Apps like Claude show the step to you, but a script holding the key can confirm on its own. Skip publish confirmations removes the step entirely.
If the listing changed after the preview, nothing is written, and a fresh preview comes back to review.
What a Publisher key can do
Publish an Etsy draft. A draft with unpushed edits must have them pushed first.
Push saved edits to Etsy: title, description, tags, price, category, section, shipping profile, return policy and more. Variants, quantities, SKUs, personalization, attributes and processing times are never sent. A push leaves a draft as a draft, and it never sends the price of a print-on-demand listing, so reprice those instead.
Put a ListingView-only listing on Etsy, as a draft (push) or live (publish). It's never created twice.
Reprice live print-on-demand listings, up to 20 in one shop under one confirmation. The preview lists every price that changes. Only prices change, and there's no rollback, so if a listing fails, push just that one again under a new confirmation.
It won't sell below cost by accident. A price below a variant's production cost is refused unless the agent says it means it (
accept_below_cost).
A stock Publisher key can't edit. To edit and push, use two keys (Catalog Editor and Publisher), or one custom key with See your listings and files, Edit listings in ListingView and Publish to Etsy. That custom key can't create a new listing on Etsy.
Live changes have an hourly and a daily limit per account, one unit per listing. See API: Publish & reprice for every step and refusal.
What each key could do if it leaked
Treat this as the worst case for each kind of key.
Research Assistant key. Nothing reaches Etsy. The worst case is spent API credits and someone reading your shop's stats.
Catalog Editor key. Nothing reaches Etsy. The worst case is unwanted local edits, uploads, and spent AI tokens and API credits.
Drafting Agent key. Someone could fill your shops with Etsy drafts up to your daily limits, including unpublished Printify products. They could delete drafts ListingView made up to the daily cap, discard staged batches, upload files, spend your AI tokens, and create, edit, copy or delete presets. They could stage edits to your listings inside ListingView, which only reach Etsy if someone pushes them. Nothing becomes visible to shoppers and no listing fees are charged.
Publisher key. Someone could make listings live one at a time, up to the limits, but only content already in your account. They could reprice live print-on-demand listings, even below cost. Each publish charges Etsy's fee, and a live POD listing can take orders. The confirm step doesn't protect against theft, because whoever holds the key can answer it.
Both keys together. If both are stolen, or simply added to the same AI chat, they can write content and then publish it. In the same-chat case nobody has to steal anything: instructions hidden in listing text could steer the assistant into publishing.
A custom key with Edit listings in ListingView and Publish to Etsy. It can rewrite your existing listings and drafts and push them live, one at a time and up to the limits.
Test key. Nothing changes. The worst case is spent API credits and someone reading your data.
What limits the damage: keys that can change Etsy stop after 60 days without use, revoking stops running jobs and cancels waiting confirmations, every live change and Etsy-draft delete notifies you, each key shows when and roughly where it was last used, and you get an email whenever a new key is created.
Credits, limits and Today's usage
Your API use is measured in a few separate budgets:
API credits. You get a daily and a monthly allowance. Most calls cost a few credits. Reading your own listings, presets, files, jobs and usage is free.
Their own limits. Some things also have a count of their own: live Etsy calls, uploads, image imports, Etsy drafts per shop and per account, the size of one draft job, Etsy-draft deletes, new presets, preset deletes, and live changes per hour and per day.
AI tokens. AI copy uses your AI token balance, the same one the app uses.
Limits grow with your plan. Your exact numbers appear in Today's usage on Settings → API Keys. Agents and scripts can read them from /usage (listingview usage get, or get_account_usage in an AI app), except with a Publisher key, which doesn't hold that access. Daily limits reset at midnight UTC. Monthly credits reset on the date shown. API: Limits & budgets explains how each budget is counted.
Today's usage shows the rows that apply to your plan:
API credits · today, API credits · this month and Live Etsy calls · today
Etsy drafts · shop · today for each shop, and Etsy drafts · whole account · today
Uploads · today
How many drafts one job can hold on your plan
The numbers can be up to a minute old. Staged batches, draft deletes, new presets and image imports aren't on the card, but agents can read them from /usage.
When a budget runs out
Agents get a budget error until it resets. Your keys keep working for everything else, and the app isn't affected.
A banner appears in Settings → API Keys. For example: "You've used today's N API credits. Agents get a budget error until midnight UTC (in 3 h 12 min)."
You're told once a day, by email and in-app notice, the first time a budget runs out.
Draft limits apply per shop and per account. The per-shop limit only blocks that shop. The account-wide limit covers all your shops together.
ListingView has a shared limit too. If an agent sees "ListingView has reached today's capacity for agent-made Etsy drafts; your plan's limit isn't the issue.", try again after midnight UTC.
Out of AI tokens? Buy a token pack or wait for your daily tokens. See Tokens & Credits.
Need more room? Change your plan in Settings → Account → Manage subscription. See Plans & Billing.
Manage and revoke keys
Your key list on Settings → API Keys shows each key's name, what it can do, when it was created and when it was last used. For example: "Last used 2h ago · via MCP · from 203.0.113.x". If you see a key used from somewhere you don't recognize, revoke it.
Badges mark the keys that matter most: Creates Etsy drafts, Publishes to Etsy, auto-confirm (amber, publishes without a confirm step) and test.
You can have up to 10 active keys. The list shows how many you're using, for example "4 of 10 active".
Unused Etsy keys stop on their own. Keys that can change Etsy show "Stops working if unused until date". After 60 days without use they show "Stopped — unused for 60 days". A stopped key can't be restarted, and it still counts toward your 10 until you revoke it.
Expiry dates. A key you gave an expiry date stops on that date.
Revoking. Click Revoke on the key, then Revoke key in the dialog. The key stops working within a minute, and this can't be undone. Its unfinished Etsy-draft and reprice jobs stop, and any confirmation it was waiting on stops working. Drafts and changes it already made stay.
Staged batches after a revoke. They stay in Saved listings, and another key with the same access can submit or discard them. If ListingView support revokes a key, for example after a leak, its staged batches are discarded too.
Seeing old keys. Turn on Show revoked to see revoked, stopped and expired keys.
Replacing a key. There's no rotate button. Create a new key, switch your app over to it, then revoke the old one.
Key concepts
API key. A secret that lets software act on your ListingView account, limited to the access you chose.
Test key. A key whose changes are dry runs. Nothing changes, and reads are real.
Access preset. A ready-made set of permissions for a key: Research Assistant, Catalog Editor, Drafting Agent or Publisher. Not to be confused with a listing preset, the template Bulk Create uses.
MCP (Model Context Protocol). The standard AI apps use to connect to tools like ListingView.
Local listing. A listing in your ListingView catalog only. Nothing about it is on Etsy until it's pushed or published.
Etsy draft. A draft listing in your real Etsy shop. Shoppers can't see it, and no listing fee is charged until it's published.
Staged batch. A batch an agent saved for your review under Saved listings. Nothing is on Etsy until it's submitted.
Confirm step. The preview-then-confirm round trip every live change needs.
Design slot. A place in a listing preset where each listing's artwork goes.
Delivery file. A file a digital listing delivers to its buyers.
Ready. A file that's been processed and virus-scanned and can be used on a listing.
API credits. Your daily and monthly API allowance. Separate from AI tokens.
Tips & best practices
Give each agent or app its own key, named after it. You can revoke one without breaking the others.
Start with the least access. Research Assistant changes nothing, and Catalog Editor is enough for tidying files and editing listings in ListingView.
One ListingView server per app or chat. Never put a drafting key and a publishing key in the same chat or agent.
Rehearse with a test key while you build a script or agent.
Test the preset before an agent uses it. A mistake in a preset multiplies across every draft.
Stage batches and keep them small, so you actually review them.
Publish in the app at first. It's the safest setup, and you'll learn what the agent produces.
Leave Skip publish confirmations off unless you fully trust the agent and the computer it runs on.
Give experiment keys an expiry date.
Common questions
Does using the API cost extra?
No. API access is included in every paid plan, within your plan's budgets. AI copy uses your AI tokens. Etsy charges its normal listing fee when a listing is published.
Can an agent publish without me?
Not with a Drafting Agent key. It can never publish. A Publisher key needs a confirm step on every live change. Apps like Claude show that step to you, but a script holding the key can confirm on its own, and Skip publish confirmations removes the step entirely.
Which AI apps work?
Claude Code and Cursor. Claude Desktop and custom connectors on claude.ai are coming soon.
Can I make digital listings through the API?
Yes. Upload the delivery files, build a digital preset, then make Etsy drafts from it. Each listing can bring its own files. Drafts made through the API deliver files, not links.
Can an agent delete my listings, files or collections?
It can't delete live listings, files or collections. A Drafting Agent key can delete Etsy drafts that ListingView made and discard staged batches. A key with Create and edit presets can delete a listing preset, and support can restore it for 30 days.
Can an agent cancel a draft job?
Not through the API. Cancel it in Bulk Create, or revoke the key.
Troubleshooting: error codes in plain words
Agents, the CLI and the API all report the same codes. Every code also has its own entry on the errors page of the API reference.
Code | What it means | What to do |
|---|---|---|
| The key is missing, mistyped, revoked or past its expiry date. The error doesn't say which, on purpose. | Copy the key again and send it as |
| The key was revoked while the call was running, or (reason | Create a new key in Settings → API Keys. |
| The key doesn't have access to do this. The message names the preset that does. | Use or create a key with that access. |
| One key tried to both draft and publish, or a key that can edit listings tried to create a new listing on Etsy ( | Use a separate Drafting Agent key and Publisher key. For a new listing, use a stock Publisher key. |
| Your plan doesn't include this. | Upgrade in Settings → Account → Manage subscription. |
| Not a problem: a live change is waiting for its confirm step. Nothing has changed yet. | Check the preview, then confirm within 5 minutes. |
| The confirmation expired, was already used or doesn't match the request, or the listing changed after the preview ( | Ask for a fresh preview. With |
| A daily or monthly limit is used up. With reason | Wait for the reset shown in Today's usage, or upgrade. For |
| Too many requests too quickly. With | Wait for the time in |
| Not enough AI tokens. | Buy tokens, or wait for your daily tokens. |
| Something in the request is wrong, such as an empty design slot. With reason | Fix what the message names. Send |
| A file is still processing or being virus-scanned. | Wait until it's ready, then try again. |
| A shop setting belongs to a different shop. | Copy the preset to that shop and pick that shop's own settings. |
| The Etsy shop isn't connected, or its connection expired. | Reconnect the shop in Settings → Account. |
| Another bulk job is running on that shop. | Wait for it to finish. |
| Something changed or clashed. Common reasons: | Follow the reason in the message. |
| That item was already sent for this shop recently. | Check your shop. Don't resubmit it. |
| A listing in a reprice isn't live, isn't print-on-demand, or hasn't synced yet. | Leave it out, or sync the shop first. |
| A listing isn't ready for Etsy yet. | Let the mockups render, or add the delivery files. |
| ListingView can't tell whether Etsy created the listing or made it live. | Check your Etsy shop before trying again. |
| Print-on-demand setup is incomplete. | Map the shop to Printify in Settings → Account, or choose a print provider. |
| Your asset library is full. | Free up space or upgrade. |
| The link isn't a public | Use a public link, or upload the file. |
| This isn't available right now, or ListingView has paused it. | Follow the message, and try again later. |
| ListingView, Etsy, Printify or the AI provider couldn't answer just now. | Try again later, after |
| Several live changes failed in a row, so live changes on this account are paused for a short while. | Wait for |
| The AI couldn't see the artwork, so no copy was written. | Try again. Check that the design is ready. |
Still stuck? Contact support and include the request_id from the error.
For developers
Step-by-step guides for building on the API:
API: Getting started: your first call, test keys, idempotency keys and the error shape
API: Connect AI apps: MCP setup and every tool a key can unlock
API: Command-line tool: install, sign in and every command
API: Uploads: the three-step upload, delivery files and importing from a link
API: Presets: print-on-demand, digital and physical presets from scratch
API: Etsy drafts: stage a batch, review it, submit it, and delete and redraft
API: Publish & reprice: the Publisher key, the confirm step and bulk reprices
API: Limits & budgets: credits, daily budgets, Etsy-draft limits and rate limits
Generated live from the API: the API reference, the error codes, the scopes and the security and disclosure policy.
Related features
Presets: build the listing presets agents draft from
POD Presets & Bulk Create: print-on-demand presets and design slots
Bulk Create: where agent-made draft jobs and saved batches appear
Asset Library: where uploaded designs live
Listing Optimizer: review and publish drafts
Tokens & Credits: AI tokens used for AI copy
Plans & Billing: which plan includes what
Account & Security: keeping your account safe
An API key lets an AI app like Claude, a script, or the ListingView command-line tool work with your ListingView account. It can research the Etsy market, browse your listings and asset library, upload files, write listing copy, build presets and turn them into Etsy drafts. You choose what each key can do. Making anything live on Etsy takes its own separate key and a confirm step.
There are three ways in, and they all use the same key:
MCP server. Connect Claude or another AI app that supports MCP, then ask for things in plain language.
CLI. The
listingviewcommand, for your terminal and for agents that run commands.REST API. Call ListingView from your own code.
Developers can start with API: Getting started. All the guides are listed under For developers near the end of this page.
What you can do with the API, MCP server & CLI
Research the Etsy market: keywords, tags, and other shops and listings
Read your listings, jobs, presets, asset library and your own shop's stats
Create and edit listings in ListingView, one at a time or in bulk jobs
Upload designs and the files your digital listings deliver, or import an image from a public link
Organize your asset library
Build print-on-demand, digital and physical presets, and copy them to your other shops
Get AI-written titles, tags and descriptions from your artwork, or improve copy you already have, paid from your AI token balance
Turn a preset and a batch of designs into Etsy drafts in one job, or stage the batch first so you can review it in ListingView. Shoppers never see drafts.
Delete Etsy drafts that ListingView made
Publish listings and reprice live print-on-demand listings, with a separate Publisher key and a confirm step
Rehearse with a test key, which changes nothing
Who can use it
API keys come with every paid plan. What a key can do depends on your plan.
Plan | API keys | What keys can do |
|---|---|---|
Free | No | Upgrade to any paid plan to create keys. |
Scout | Yes | Research the Etsy market and see your shop's stats. Read your listings, presets and asset library. Edit existing listings one at a time. Create, edit and copy digital and physical presets. Upload and organize files. Get AI copy from artwork. |
Plus, Scale and Scale Max (legacy paid plans count as Plus) | Yes | Everything on Scout, plus creating listings in ListingView, bulk edit jobs, AI suggestions for an existing listing, print-on-demand presets, Create Etsy drafts and Publish to Etsy. |
Higher plans also get bigger daily and monthly limits. On Scout, the Etsy options in the key form show Plus and above next to them.
If you change plans, your keys keep working but follow your new plan right away. Anything the new plan doesn't include is refused with a plan error. If you cancel your subscription, every key stops working until you subscribe again.
How to create an API key
Open Settings → API Keys. On the Free plan you'll see "API keys come with every paid plan" with a View plans button instead.
Click Create key.
Name the key. For example,
tee-drops. The name appears in Bulk Create and in your notifications whenever this key does something.Choose the access. Under Access, pick one of the presets below. To choose individual permissions instead, open Customize scopes.
Rehearsing? Tick Test key (no real changes). The button then reads Create test key. See Test keys below.
Read the notice. A key that can change Etsy shows a notice explaining what it can do.
Choose when it expires (optional). Under Expires, the choices are Never — revoke any time, In 30 days, In 90 days or In 1 year. Keys that can change Etsy also stop working after 60 days without use.
Click Create key.
Save your key. The key is shown once. Click Copy API key, store it somewhere safe, then set up your app with the Connect it quickstart. Click I saved it when you're done.
Choose an access preset
Preset | What the card says | Reaches Etsy? | Plan |
|---|---|---|---|
Research Assistant | "Research the Etsy market and your shop's stats. Can't change anything." | No | Scout and above |
Catalog Editor | "Research, plus edit listings and organize files in ListingView. Nothing reaches Etsy." | No | Scout and above |
Drafting Agent | "Everything an agent needs to prepare listings: research, presets, uploads, AI copy and Etsy drafts. It can never publish — drafts stay hidden until you publish them with a Publisher key." | Creates and deletes Etsy drafts | Plus and above |
Publisher | "Publish one listing at a time — your Etsy drafts, saved edits, or listings that exist only in ListingView — through a confirm step. It can also reprice up to 20 live print-on-demand listings in one confirmed push. Apart from prices in a confirmed reprice, it can't write listing content." | Goes live on Etsy | Plus and above |
Which to pick: Research Assistant to change nothing, Catalog Editor to tidy files or edit listings inside ListingView, Drafting Agent to turn designs into Etsy drafts, and a separate Publisher key to publish or reprice from an AI app or your own code. To publish in the app, you don't need a key at all: use the Publish button in ListingView.
Customize scopes
Customize scopes lists every permission, grouped by how far it reaches.
Group | Option | What it allows |
|---|---|---|
Read only | Research Etsy | Search listings, shops, keywords and tags, see your shop's stats, and read the key's budgets. |
Read only | See your listings and files | Read your listings, jobs and asset library. |
Read only | See your presets | Read preset names, defaults and design slots. |
Changes in ListingView | Edit listings in ListingView | Create and edit listings in ListingView and get AI copy suggestions (uses AI tokens). Nothing reaches Etsy. |
Changes in ListingView | Upload and organize files | Upload designs and delivery files, import images from links, and organize your library. Can't delete files or download originals. |
Changes in ListingView | Create and edit presets | Create, edit, copy and delete presets. Never changes listings. |
Changes on Etsy | Create Etsy drafts | Create Etsy drafts without asking you first, up to your plan's daily limit per shop, and delete Etsy drafts that ListingView created (never live listings). |
Changes on Etsy | Publish to Etsy | Push changes to, publish, or create-and-publish one listing at a time, or reprice up to 20 live print-on-demand listings at once. Each change needs a confirm step. |
Changes on Etsy (Advanced) | Skip publish confirmations | Lets the agent publish without asking you. Highest risk. Only for agents you fully trust. |
Create Etsy drafts and Publish to Etsy can never be on the same key. Choosing one turns the other off with a note, for example: "Can't be combined with 'Create Etsy drafts' — make a separate Publisher key".
Skip publish confirmations only works together with Publish to Etsy. To keep it on, you must tick "I understand this agent can publish to my live Etsy shop without asking me first." The key then shows an amber auto-confirm badge. Most sellers should leave it off.
The notice you'll see
A key that can create Etsy drafts shows this notice. N is your plan's daily limit.
This key can create Etsy drafts without asking you each time. Drafts are hidden from shoppers, and this key can never publish them — publishing needs a separate Publisher key. It can also delete draft listings that ListingView created in your Etsy shop, never live ones, and you'll get a notification each time. Up to N drafts per shop per day on your plan. Batches it saves for your review appear under Saved listings, and its jobs appear in Bulk Create with this key's name. Revoke the key any time to stop it.
A Publisher key shows its own notice ("This key can make changes live on Etsy."), covered under Publish and reprice live listings. A test key's notice says it can't change anything.
Your key is shown once
ListingView stores only a fingerprint of your key. Nobody, including our support team, can show it to you again. If you lose it, revoke it and create a new one.
Treat a key like a password. Never paste it into a public page, a shared document or a support message.
Live keys start with
lv_live_and test keys withlv_test_. ListingView emails you whenever a new key is created on your account. If you didn't create it, revoke it right away.
Test keys
A test key lets you run a whole flow against your real account without changing anything. It shows a test badge in your key list.
Changes are dry runs. They're checked like live calls, then answered with what would have happened. Nothing is saved, nothing reaches Etsy or Printify, and no AI tokens are used.
Reads are real. Reads and market research use your real data and cost API credits as usual.
Same rules as a live key. It follows the same access and plan rules, and it counts toward your 10 keys.
Some checks can't be proven. A check that needs Etsy or Printify can come back
unverified. Run that step once with a live key before you rely on it.
See Rehearse with a test key in API: Getting started.
Connect an AI app (MCP)
Create a key for the job you want the app to do, for example a Drafting Agent key.
Copy the MCP config. On the Save your key step, open the MCP config tab under Connect it and click Copy MCP config. The snippet already includes the address and your key, and it tells you how many tools your agent will see.
Add it to your AI app. It works in Claude Code and Cursor. Paste it wherever your app adds a remote (HTTP) MCP server. In Claude Code, for example, that's the project's
.mcp.json. The snippet looks like this:{ "mcpServers": { "listingview-drafts": { "type": "http", "url": "https://api.listingview.io/mcp", "headers": { "Authorization": "Bearer lv_live_…" } } } }
The server name follows the key. A key that makes Etsy drafts is
listingview-drafts, a key that publishes islistingview-publish, and every other key islistingview.Ask for something. For example:
"How much demand is there for linen aprons on Etsy?"
"Write a title and tags for this design."
"Stage Etsy drafts of these 3 designs with my Halloween sweatshirt preset so I can review them."
Under every MCP snippet you'll see this warning. Take it seriously:
Use this key in its own app or chat. Don't add your drafting and publishing keys to the same chat or agent: enabling both in one chat removes the split; prompt-injected listing text could then publish.
Good to know:
Your agent only sees what the key allows. If it tries something the key can't do, it gets an error naming the preset that can.
Publishing from an AI app needs your confirmation. With a Publisher key, every call shows what will change and waits for a confirmation, which your app shows you.
Claude Desktop and custom connectors on claude.ai are coming soon. They need a sign-in, which API keys don't support yet.
Uploading from a chat window. Chat apps often can't send files themselves. Give the agent a public image link to import, or upload the file in Asset Library and tell the agent its name.
More setup help is in API: Connect AI apps.
Use the CLI
The CLI needs Node.js 18.3 or newer.
npx @listingview/cli auth login # paste your key at the hidden prompt npx @listingview/cli usage get # your first call: today's budget npx @listingview/cli describe # every command your key can use
To type listingview instead of npx @listingview/cli, install it once with npm install -g @listingview/cli.
Signing in.
auth loginsaves the key on this computer, readable only by you. For agents and automation, setLISTINGVIEW_API_KEYinstead. To keep several keys, save each under its own--profile.Signing out doesn't revoke.
listingview auth logoutremoves the key from this computer only.Exit code 9 means check first. ListingView can't tell whether something happened, so check your shop before trying again.
The CLI doesn't publish yet. Use the Publish button in ListingView, or a Publisher key in an AI app or your own code.
Uploading designs and making Etsy drafts:
listingview assets upload front.png back.png --collection 311 listingview presets get 1667 # shows the preset's design slots (A, B, …) listingview etsy-drafts create --shop-id 38123456 --preset-id 1667 --items items.json --wait
Add --stage to etsy-drafts create to save the batch for review instead. Add --purpose digital_file to assets upload for delivery files. Re-running the same upload or Etsy-draft command is safe: you get the first result back, never a second batch.
API: Command-line tool covers every command.
Call the API directly
Send your key in an Authorization: Bearer header on every request. This first call checks that the key works. It's free and any key can make it:
curl https://api.listingview.io/api/v1/ping \ -H "Authorization: Bearer lv_live_…"
The curl tab of the quickstart has a first call with your key already filled in. The API reference lists every route and is generated live from the API.
To make retries safe, send an
X-Idempotency-Keyheader on changes. Repeating the same request with the same key returns the first result.Errors come back as
{"error": {"code", "message", "details", "isRetryable", "docs_url", "request_id"}}. Quote therequest_idwhen you contact support.
Research the Etsy market
A key with Research Etsy can look up keywords and tags, search listings and shops, and analyze or compare shops. Give an agent a Research Assistant key if it should change nothing.
It uses your API credits. Each call costs credits by how heavy it is. Research that reads Etsy live also counts toward Live Etsy calls · today.
Some rows come back short. A listing can come back with just its id, its link and ListingView's estimates.
API: Limits & budgets explains how research is counted.
Let an agent make Etsy drafts for you
This is the workflow the API is built for. You build a preset once, in ListingView or through your agent. The agent uploads your designs, writes copy from the artwork, and turns the preset into Etsy drafts. You review the drafts and publish the ones you like.
Etsy drafts are hidden from shoppers and cost no listing fee. A Drafting Agent key can create them without asking you each time, but it can never publish them.
Before you start
You're on Plus or above, and your Etsy shop is connected.
You have a preset that works. The surest way: build one listing in the app, publish it, check it on Etsy, then save it as a preset. See Presets and POD Presets & Bulk Create.
For print-on-demand presets, the Etsy shop is mapped to your Printify shop (Settings → Account), and every product in the preset has a print provider chosen.
For digital presets, the files each listing delivers are uploaded and ready.
How the drafts loop works
Upload the designs. The agent adds them to your asset library (
add_assets, orlistingview assets upload). Each file must be ready, which means processed and virus-scanned.Read the preset. The agent looks at the preset's design slots (
list_presets) to see which design goes where.Write the copy. The agent writes titles, tags and descriptions itself, or asks for AI copy from the artwork.
Create the Etsy drafts. One job turns the preset plus designs and copy into drafts in your real Etsy shop (
create_etsy_drafts). ListingView doesn't ask you first. You agreed to that when you created the key. To check the batch first, have the agent stage it instead.Wait for the job. Drafts appear one by one, each with its Etsy listing id (
get_bulk_job_status).Review and publish. Look over the drafts in Listing Optimizer and click Publish on the ones you're happy with, or use a Publisher key.
Review a batch before it reaches Etsy
Ask the agent to stage the batch (create_etsy_drafts with operation: "stage", or etsy-drafts create --stage). Nothing reaches Etsy yet, and it uses none of your daily draft limits.
Find the batch. Open Create in the sidebar, then the Saved listings tab. The agent also gets a direct link it can give you.
Open it, fix what you want and save.
Tell the agent you're done. A submit sends the last version you saved, not edits still open on your screen.
The agent submits it. ListingView checks everything again, then makes the Etsy drafts with your edits in them.
Or send it yourself. Publish to Etsy on the card sends the batch from the app. It makes Etsy drafts too, hidden from shoppers.
Batches don't expire, and there's no reminder. You can have up to 18 staged batches open, inside your account's 20 open saved batches, which the app shares.
Limits count on the day you submit. A submit refused for a daily limit leaves the batch staged.
AI copy comes first. A staged batch takes finished copy, so the agent asks for AI copy before it stages.
Discarding is safe. Nothing on Etsy changes, and your designs stay in your library.
API: Etsy drafts walks through the whole loop.
Presets and design slots
A preset's design slots are the places where each listing's artwork goes, lettered A to J. The agent sees each slot like this:
A · "Light Designs Here" · prints on dark garments (Black, Navy, Forest)
Every enabled slot must get a design. If one is empty, the whole job is refused before anything reaches Etsy.
Through the API, agents can also:
Create presets from scratch: print-on-demand, digital (the files buyers get) and physical. Print-on-demand presets need Plus or above. See API: Presets.
Edit presets. If you edit the same preset in the app while an agent is working, the agent gets an error and must read it again. Your edits are never overwritten.
Copy a preset to another of your shops. Shop settings such as the shipping profile and return policy are checked against the new shop. A mismatch is refused, with that shop's options for the agent to pick from. They're never swapped silently.
Delete a preset. It can't be deleted while a job is using it. If an agent deletes one by mistake, contact support within 30 days and we can restore it.
Uploading designs and delivery files
An agent can upload a file directly, which works from Claude Code, coding agents, scripts and the CLI, or give ListingView a public https:// link to one image, which works from chat apps too.
Upload a design | Upload a delivery file | Import from a link | |
|---|---|---|---|
File types | PNG, JPEG, WebP | PDF, ZIP, PNG, JPEG, WebP, SVG, GIF, TIFF, TTF, OTF, WOFF, WOFF2, MP3, WAV, MP4, DOCX, XLSX | PNG, JPEG, WebP, GIF (saved as a PNG of its first frame) |
Size | Up to 50 MB per file | Up to 25 MB per file | Up to 20 MB |
Per request | Up to 20 files | Up to 20 files | One image |
Photo metadata (EXIF, GPS) | Kept | Kept | Removed |
All of them count toward your storage, and your plan sets a daily limit.
Delivery files are what a digital listing's buyers get. A file's contents must match the type the agent declared.
Ready means scanned. A file the scan flags is quarantined. An archive that's too large, too deeply nested or password-protected fails, so upload the files unzipped.
Uploading the same file twice is harmless. You get the existing file back.
PSD files and mockup templates aren't accepted. Export a PNG.
Agents can organize but not delete files. They can manage collections, rename and tag files, and duplicate them. Deleting only happens in the app.
Original files never come back out. Agents only get thumbnails, never your original designs or delivery files.
API: Uploads has the details.
AI copy from your artwork
An agent can ask for a title, 13 tags and a description written from up to 6 of your designs. It can also improve copy you already have, and it follows your saved Custom Instructions unless the agent turns them off.
Paid from AI tokens, the same as in-app AI. No API credits are used. See Tokens & Credits.
Suggestions or drafts. The agent can ask for suggestions only, or, when it drafts straight to Etsy, have the copy written onto the drafts.
No blind copy. If the AI couldn't actually see a design, ListingView refuses rather than writing copy blind. White and light designs work, because ListingView picks a background that shows them.
Etsy's rules are enforced. Copy that breaks them (a title over 140 characters, more than 13 tags, a tag over 20 characters) is flagged in suggestions and refused on drafts.
Your preset text is kept. By default the AI description is added above your preset's description.
Where API jobs show up in ListingView
In Bulk Create and Job Activity. Agent-made draft jobs and reprices carry a via API label and the key's name. You can pause or cancel draft jobs in Bulk Create.
In Saved listings. Batches an agent staged wait there for your review.
In your notifications. The bell tells you when a draft job finishes. Every publish, push, reprice and Etsy-draft delete made with an API key also notifies you, naming the key.
In Etsy and Listing Optimizer. The drafts appear there like any Bulk Create draft.
Safety checks before anything reaches Etsy
ListingView checks the whole job first. If any of these fail, it refuses the job, and no drafts are made.
A design or delivery file isn't ready, or isn't in your library.
An enabled design slot is empty, or a digital listing has no file to deliver.
The preset's shop settings belong to a different shop, or the preset changed after the agent read it.
The job is bigger than your plan allows, or would go past today's draft limit for that shop or your account.
Another Bulk Create is already running on that shop.
Print-on-demand setup is incomplete: no Printify shop mapped, or no print provider chosen.
After the job starts:
Repeats don't double up. Sending the same request again returns the same job.
"Unknown outcome" means check first. Etsy sometimes doesn't confirm whether a draft was created. Check your shop before resubmitting that item.
Print-on-demand drafts can come with Printify products. These are unpublished, so they cost nothing until someone orders. A draft you delete on Etsy leaves its Printify product behind, so tidy those up in Printify.
A digital draft counts only when every file arrives. If some files didn't reach Etsy, the item is marked failed. Delete that draft and make it again.
Deleting Etsy drafts
When drafts went to Etsy wrong, for example with the wrong preset, a Drafting Agent key can delete them and draft them again.
Only drafts ListingView made. This account's Bulk Create must have made the draft, in the app or through the API. ListingView checks Etsy first and refuses if the listing is live.
What goes. The Etsy draft, its listing in ListingView and its own Printify product.
You're told every time, and there's a cap of 50 deletes a day per account.
Shared shops. If another ListingView account also manages the listing, the delete removes it for them too, so the agent must confirm that.
Don't publish by hand during a redraft. If someone makes a draft live in the split second before its delete, the live listing is deleted.
Publish and reprice live listings
A draft goes live only when someone publishes it. There are two ways:
In ListingView (always available). Open the draft in Listing Optimizer and click Publish. This is the simplest option and needs no key.
With a Publisher key (Plus and above), from an AI app or your own code.
Read AI-written copy before you publish, because nobody has checked it yet. Each publish charges Etsy's listing fee, and a live print-on-demand listing can take orders that Printify fulfils at your cost.
Drafting and publishing use two keys
A key that can create Etsy drafts can never publish, and a key that can publish can never create drafts. So an agent that does both needs a Drafting Agent key and a Publisher key.
Keep each key in its own app, chat or script. If one chat held both, text hidden in a listing could steer the agent from drafting into publishing. Two setups that work:
Simplest: the agent uses a Drafting Agent key, and you publish with the Publish button in ListingView.
Publishing from an AI app: the agent drafts in one app or chat, and a second one holds the Publisher key as
listingview-publish.
The confirm step
Every live change runs in two steps. First the agent gets a preview of exactly what will change, and nothing has changed yet. Then it confirms, within 5 minutes. A confirmation works once, for exactly that change.
It isn't a human check by itself. Apps like Claude show the step to you, but a script holding the key can confirm on its own. Skip publish confirmations removes the step entirely.
If the listing changed after the preview, nothing is written, and a fresh preview comes back to review.
What a Publisher key can do
Publish an Etsy draft. A draft with unpushed edits must have them pushed first.
Push saved edits to Etsy: title, description, tags, price, category, section, shipping profile, return policy and more. Variants, quantities, SKUs, personalization, attributes and processing times are never sent. A push leaves a draft as a draft, and it never sends the price of a print-on-demand listing, so reprice those instead.
Put a ListingView-only listing on Etsy, as a draft (push) or live (publish). It's never created twice.
Reprice live print-on-demand listings, up to 20 in one shop under one confirmation. The preview lists every price that changes. Only prices change, and there's no rollback, so if a listing fails, push just that one again under a new confirmation.
It won't sell below cost by accident. A price below a variant's production cost is refused unless the agent says it means it (
accept_below_cost).
A stock Publisher key can't edit. To edit and push, use two keys (Catalog Editor and Publisher), or one custom key with See your listings and files, Edit listings in ListingView and Publish to Etsy. That custom key can't create a new listing on Etsy.
Live changes have an hourly and a daily limit per account, one unit per listing. See API: Publish & reprice for every step and refusal.
What each key could do if it leaked
Treat this as the worst case for each kind of key.
Research Assistant key. Nothing reaches Etsy. The worst case is spent API credits and someone reading your shop's stats.
Catalog Editor key. Nothing reaches Etsy. The worst case is unwanted local edits, uploads, and spent AI tokens and API credits.
Drafting Agent key. Someone could fill your shops with Etsy drafts up to your daily limits, including unpublished Printify products. They could delete drafts ListingView made up to the daily cap, discard staged batches, upload files, spend your AI tokens, and create, edit, copy or delete presets. They could stage edits to your listings inside ListingView, which only reach Etsy if someone pushes them. Nothing becomes visible to shoppers and no listing fees are charged.
Publisher key. Someone could make listings live one at a time, up to the limits, but only content already in your account. They could reprice live print-on-demand listings, even below cost. Each publish charges Etsy's fee, and a live POD listing can take orders. The confirm step doesn't protect against theft, because whoever holds the key can answer it.
Both keys together. If both are stolen, or simply added to the same AI chat, they can write content and then publish it. In the same-chat case nobody has to steal anything: instructions hidden in listing text could steer the assistant into publishing.
A custom key with Edit listings in ListingView and Publish to Etsy. It can rewrite your existing listings and drafts and push them live, one at a time and up to the limits.
Test key. Nothing changes. The worst case is spent API credits and someone reading your data.
What limits the damage: keys that can change Etsy stop after 60 days without use, revoking stops running jobs and cancels waiting confirmations, every live change and Etsy-draft delete notifies you, each key shows when and roughly where it was last used, and you get an email whenever a new key is created.
Credits, limits and Today's usage
Your API use is measured in a few separate budgets:
API credits. You get a daily and a monthly allowance. Most calls cost a few credits. Reading your own listings, presets, files, jobs and usage is free.
Their own limits. Some things also have a count of their own: live Etsy calls, uploads, image imports, Etsy drafts per shop and per account, the size of one draft job, Etsy-draft deletes, new presets, preset deletes, and live changes per hour and per day.
AI tokens. AI copy uses your AI token balance, the same one the app uses.
Limits grow with your plan. Your exact numbers appear in Today's usage on Settings → API Keys. Agents and scripts can read them from /usage (listingview usage get, or get_account_usage in an AI app), except with a Publisher key, which doesn't hold that access. Daily limits reset at midnight UTC. Monthly credits reset on the date shown. API: Limits & budgets explains how each budget is counted.
Today's usage shows the rows that apply to your plan:
API credits · today, API credits · this month and Live Etsy calls · today
Etsy drafts · shop · today for each shop, and Etsy drafts · whole account · today
Uploads · today
How many drafts one job can hold on your plan
The numbers can be up to a minute old. Staged batches, draft deletes, new presets and image imports aren't on the card, but agents can read them from /usage.
When a budget runs out
Agents get a budget error until it resets. Your keys keep working for everything else, and the app isn't affected.
A banner appears in Settings → API Keys. For example: "You've used today's N API credits. Agents get a budget error until midnight UTC (in 3 h 12 min)."
You're told once a day, by email and in-app notice, the first time a budget runs out.
Draft limits apply per shop and per account. The per-shop limit only blocks that shop. The account-wide limit covers all your shops together.
ListingView has a shared limit too. If an agent sees "ListingView has reached today's capacity for agent-made Etsy drafts; your plan's limit isn't the issue.", try again after midnight UTC.
Out of AI tokens? Buy a token pack or wait for your daily tokens. See Tokens & Credits.
Need more room? Change your plan in Settings → Account → Manage subscription. See Plans & Billing.
Manage and revoke keys
Your key list on Settings → API Keys shows each key's name, what it can do, when it was created and when it was last used. For example: "Last used 2h ago · via MCP · from 203.0.113.x". If you see a key used from somewhere you don't recognize, revoke it.
Badges mark the keys that matter most: Creates Etsy drafts, Publishes to Etsy, auto-confirm (amber, publishes without a confirm step) and test.
You can have up to 10 active keys. The list shows how many you're using, for example "4 of 10 active".
Unused Etsy keys stop on their own. Keys that can change Etsy show "Stops working if unused until date". After 60 days without use they show "Stopped — unused for 60 days". A stopped key can't be restarted, and it still counts toward your 10 until you revoke it.
Expiry dates. A key you gave an expiry date stops on that date.
Revoking. Click Revoke on the key, then Revoke key in the dialog. The key stops working within a minute, and this can't be undone. Its unfinished Etsy-draft and reprice jobs stop, and any confirmation it was waiting on stops working. Drafts and changes it already made stay.
Staged batches after a revoke. They stay in Saved listings, and another key with the same access can submit or discard them. If ListingView support revokes a key, for example after a leak, its staged batches are discarded too.
Seeing old keys. Turn on Show revoked to see revoked, stopped and expired keys.
Replacing a key. There's no rotate button. Create a new key, switch your app over to it, then revoke the old one.
Key concepts
API key. A secret that lets software act on your ListingView account, limited to the access you chose.
Test key. A key whose changes are dry runs. Nothing changes, and reads are real.
Access preset. A ready-made set of permissions for a key: Research Assistant, Catalog Editor, Drafting Agent or Publisher. Not to be confused with a listing preset, the template Bulk Create uses.
MCP (Model Context Protocol). The standard AI apps use to connect to tools like ListingView.
Local listing. A listing in your ListingView catalog only. Nothing about it is on Etsy until it's pushed or published.
Etsy draft. A draft listing in your real Etsy shop. Shoppers can't see it, and no listing fee is charged until it's published.
Staged batch. A batch an agent saved for your review under Saved listings. Nothing is on Etsy until it's submitted.
Confirm step. The preview-then-confirm round trip every live change needs.
Design slot. A place in a listing preset where each listing's artwork goes.
Delivery file. A file a digital listing delivers to its buyers.
Ready. A file that's been processed and virus-scanned and can be used on a listing.
API credits. Your daily and monthly API allowance. Separate from AI tokens.
Tips & best practices
Give each agent or app its own key, named after it. You can revoke one without breaking the others.
Start with the least access. Research Assistant changes nothing, and Catalog Editor is enough for tidying files and editing listings in ListingView.
One ListingView server per app or chat. Never put a drafting key and a publishing key in the same chat or agent.
Rehearse with a test key while you build a script or agent.
Test the preset before an agent uses it. A mistake in a preset multiplies across every draft.
Stage batches and keep them small, so you actually review them.
Publish in the app at first. It's the safest setup, and you'll learn what the agent produces.
Leave Skip publish confirmations off unless you fully trust the agent and the computer it runs on.
Give experiment keys an expiry date.
Common questions
Does using the API cost extra?
No. API access is included in every paid plan, within your plan's budgets. AI copy uses your AI tokens. Etsy charges its normal listing fee when a listing is published.
Can an agent publish without me?
Not with a Drafting Agent key. It can never publish. A Publisher key needs a confirm step on every live change. Apps like Claude show that step to you, but a script holding the key can confirm on its own, and Skip publish confirmations removes the step entirely.
Which AI apps work?
Claude Code and Cursor. Claude Desktop and custom connectors on claude.ai are coming soon.
Can I make digital listings through the API?
Yes. Upload the delivery files, build a digital preset, then make Etsy drafts from it. Each listing can bring its own files. Drafts made through the API deliver files, not links.
Can an agent delete my listings, files or collections?
It can't delete live listings, files or collections. A Drafting Agent key can delete Etsy drafts that ListingView made and discard staged batches. A key with Create and edit presets can delete a listing preset, and support can restore it for 30 days.
Can an agent cancel a draft job?
Not through the API. Cancel it in Bulk Create, or revoke the key.
Troubleshooting: error codes in plain words
Agents, the CLI and the API all report the same codes. Every code also has its own entry on the errors page of the API reference.
Code | What it means | What to do |
|---|---|---|
| The key is missing, mistyped, revoked or past its expiry date. The error doesn't say which, on purpose. | Copy the key again and send it as |
| The key was revoked while the call was running, or (reason | Create a new key in Settings → API Keys. |
| The key doesn't have access to do this. The message names the preset that does. | Use or create a key with that access. |
| One key tried to both draft and publish, or a key that can edit listings tried to create a new listing on Etsy ( | Use a separate Drafting Agent key and Publisher key. For a new listing, use a stock Publisher key. |
| Your plan doesn't include this. | Upgrade in Settings → Account → Manage subscription. |
| Not a problem: a live change is waiting for its confirm step. Nothing has changed yet. | Check the preview, then confirm within 5 minutes. |
| The confirmation expired, was already used or doesn't match the request, or the listing changed after the preview ( | Ask for a fresh preview. With |
| A daily or monthly limit is used up. With reason | Wait for the reset shown in Today's usage, or upgrade. For |
| Too many requests too quickly. With | Wait for the time in |
| Not enough AI tokens. | Buy tokens, or wait for your daily tokens. |
| Something in the request is wrong, such as an empty design slot. With reason | Fix what the message names. Send |
| A file is still processing or being virus-scanned. | Wait until it's ready, then try again. |
| A shop setting belongs to a different shop. | Copy the preset to that shop and pick that shop's own settings. |
| The Etsy shop isn't connected, or its connection expired. | Reconnect the shop in Settings → Account. |
| Another bulk job is running on that shop. | Wait for it to finish. |
| Something changed or clashed. Common reasons: | Follow the reason in the message. |
| That item was already sent for this shop recently. | Check your shop. Don't resubmit it. |
| A listing in a reprice isn't live, isn't print-on-demand, or hasn't synced yet. | Leave it out, or sync the shop first. |
| A listing isn't ready for Etsy yet. | Let the mockups render, or add the delivery files. |
| ListingView can't tell whether Etsy created the listing or made it live. | Check your Etsy shop before trying again. |
| Print-on-demand setup is incomplete. | Map the shop to Printify in Settings → Account, or choose a print provider. |
| Your asset library is full. | Free up space or upgrade. |
| The link isn't a public | Use a public link, or upload the file. |
| This isn't available right now, or ListingView has paused it. | Follow the message, and try again later. |
| ListingView, Etsy, Printify or the AI provider couldn't answer just now. | Try again later, after |
| Several live changes failed in a row, so live changes on this account are paused for a short while. | Wait for |
| The AI couldn't see the artwork, so no copy was written. | Try again. Check that the design is ready. |
Still stuck? Contact support and include the request_id from the error.
For developers
Step-by-step guides for building on the API:
API: Getting started: your first call, test keys, idempotency keys and the error shape
API: Connect AI apps: MCP setup and every tool a key can unlock
API: Command-line tool: install, sign in and every command
API: Uploads: the three-step upload, delivery files and importing from a link
API: Presets: print-on-demand, digital and physical presets from scratch
API: Etsy drafts: stage a batch, review it, submit it, and delete and redraft
API: Publish & reprice: the Publisher key, the confirm step and bulk reprices
API: Limits & budgets: credits, daily budgets, Etsy-draft limits and rate limits
Generated live from the API: the API reference, the error codes, the scopes and the security and disclosure policy.
Related features
Presets: build the listing presets agents draft from
POD Presets & Bulk Create: print-on-demand presets and design slots
Bulk Create: where agent-made draft jobs and saved batches appear
Asset Library: where uploaded designs live
Listing Optimizer: review and publish drafts
Tokens & Credits: AI tokens used for AI copy
Plans & Billing: which plan includes what
Account & Security: keeping your account safe
An API key lets an AI app like Claude, a script, or the ListingView command-line tool work with your ListingView account. It can research the Etsy market, browse your listings and asset library, upload files, write listing copy, build presets and turn them into Etsy drafts. You choose what each key can do. Making anything live on Etsy takes its own separate key and a confirm step.
There are three ways in, and they all use the same key:
MCP server. Connect Claude or another AI app that supports MCP, then ask for things in plain language.
CLI. The
listingviewcommand, for your terminal and for agents that run commands.REST API. Call ListingView from your own code.
Developers can start with API: Getting started. All the guides are listed under For developers near the end of this page.
What you can do with the API, MCP server & CLI
Research the Etsy market: keywords, tags, and other shops and listings
Read your listings, jobs, presets, asset library and your own shop's stats
Create and edit listings in ListingView, one at a time or in bulk jobs
Upload designs and the files your digital listings deliver, or import an image from a public link
Organize your asset library
Build print-on-demand, digital and physical presets, and copy them to your other shops
Get AI-written titles, tags and descriptions from your artwork, or improve copy you already have, paid from your AI token balance
Turn a preset and a batch of designs into Etsy drafts in one job, or stage the batch first so you can review it in ListingView. Shoppers never see drafts.
Delete Etsy drafts that ListingView made
Publish listings and reprice live print-on-demand listings, with a separate Publisher key and a confirm step
Rehearse with a test key, which changes nothing
Who can use it
API keys come with every paid plan. What a key can do depends on your plan.
Plan | API keys | What keys can do |
|---|---|---|
Free | No | Upgrade to any paid plan to create keys. |
Scout | Yes | Research the Etsy market and see your shop's stats. Read your listings, presets and asset library. Edit existing listings one at a time. Create, edit and copy digital and physical presets. Upload and organize files. Get AI copy from artwork. |
Plus, Scale and Scale Max (legacy paid plans count as Plus) | Yes | Everything on Scout, plus creating listings in ListingView, bulk edit jobs, AI suggestions for an existing listing, print-on-demand presets, Create Etsy drafts and Publish to Etsy. |
Higher plans also get bigger daily and monthly limits. On Scout, the Etsy options in the key form show Plus and above next to them.
If you change plans, your keys keep working but follow your new plan right away. Anything the new plan doesn't include is refused with a plan error. If you cancel your subscription, every key stops working until you subscribe again.
How to create an API key
Open Settings → API Keys. On the Free plan you'll see "API keys come with every paid plan" with a View plans button instead.
Click Create key.
Name the key. For example,
tee-drops. The name appears in Bulk Create and in your notifications whenever this key does something.Choose the access. Under Access, pick one of the presets below. To choose individual permissions instead, open Customize scopes.
Rehearsing? Tick Test key (no real changes). The button then reads Create test key. See Test keys below.
Read the notice. A key that can change Etsy shows a notice explaining what it can do.
Choose when it expires (optional). Under Expires, the choices are Never — revoke any time, In 30 days, In 90 days or In 1 year. Keys that can change Etsy also stop working after 60 days without use.
Click Create key.
Save your key. The key is shown once. Click Copy API key, store it somewhere safe, then set up your app with the Connect it quickstart. Click I saved it when you're done.
Choose an access preset
Preset | What the card says | Reaches Etsy? | Plan |
|---|---|---|---|
Research Assistant | "Research the Etsy market and your shop's stats. Can't change anything." | No | Scout and above |
Catalog Editor | "Research, plus edit listings and organize files in ListingView. Nothing reaches Etsy." | No | Scout and above |
Drafting Agent | "Everything an agent needs to prepare listings: research, presets, uploads, AI copy and Etsy drafts. It can never publish — drafts stay hidden until you publish them with a Publisher key." | Creates and deletes Etsy drafts | Plus and above |
Publisher | "Publish one listing at a time — your Etsy drafts, saved edits, or listings that exist only in ListingView — through a confirm step. It can also reprice up to 20 live print-on-demand listings in one confirmed push. Apart from prices in a confirmed reprice, it can't write listing content." | Goes live on Etsy | Plus and above |
Which to pick: Research Assistant to change nothing, Catalog Editor to tidy files or edit listings inside ListingView, Drafting Agent to turn designs into Etsy drafts, and a separate Publisher key to publish or reprice from an AI app or your own code. To publish in the app, you don't need a key at all: use the Publish button in ListingView.
Customize scopes
Customize scopes lists every permission, grouped by how far it reaches.
Group | Option | What it allows |
|---|---|---|
Read only | Research Etsy | Search listings, shops, keywords and tags, see your shop's stats, and read the key's budgets. |
Read only | See your listings and files | Read your listings, jobs and asset library. |
Read only | See your presets | Read preset names, defaults and design slots. |
Changes in ListingView | Edit listings in ListingView | Create and edit listings in ListingView and get AI copy suggestions (uses AI tokens). Nothing reaches Etsy. |
Changes in ListingView | Upload and organize files | Upload designs and delivery files, import images from links, and organize your library. Can't delete files or download originals. |
Changes in ListingView | Create and edit presets | Create, edit, copy and delete presets. Never changes listings. |
Changes on Etsy | Create Etsy drafts | Create Etsy drafts without asking you first, up to your plan's daily limit per shop, and delete Etsy drafts that ListingView created (never live listings). |
Changes on Etsy | Publish to Etsy | Push changes to, publish, or create-and-publish one listing at a time, or reprice up to 20 live print-on-demand listings at once. Each change needs a confirm step. |
Changes on Etsy (Advanced) | Skip publish confirmations | Lets the agent publish without asking you. Highest risk. Only for agents you fully trust. |
Create Etsy drafts and Publish to Etsy can never be on the same key. Choosing one turns the other off with a note, for example: "Can't be combined with 'Create Etsy drafts' — make a separate Publisher key".
Skip publish confirmations only works together with Publish to Etsy. To keep it on, you must tick "I understand this agent can publish to my live Etsy shop without asking me first." The key then shows an amber auto-confirm badge. Most sellers should leave it off.
The notice you'll see
A key that can create Etsy drafts shows this notice. N is your plan's daily limit.
This key can create Etsy drafts without asking you each time. Drafts are hidden from shoppers, and this key can never publish them — publishing needs a separate Publisher key. It can also delete draft listings that ListingView created in your Etsy shop, never live ones, and you'll get a notification each time. Up to N drafts per shop per day on your plan. Batches it saves for your review appear under Saved listings, and its jobs appear in Bulk Create with this key's name. Revoke the key any time to stop it.
A Publisher key shows its own notice ("This key can make changes live on Etsy."), covered under Publish and reprice live listings. A test key's notice says it can't change anything.
Your key is shown once
ListingView stores only a fingerprint of your key. Nobody, including our support team, can show it to you again. If you lose it, revoke it and create a new one.
Treat a key like a password. Never paste it into a public page, a shared document or a support message.
Live keys start with
lv_live_and test keys withlv_test_. ListingView emails you whenever a new key is created on your account. If you didn't create it, revoke it right away.
Test keys
A test key lets you run a whole flow against your real account without changing anything. It shows a test badge in your key list.
Changes are dry runs. They're checked like live calls, then answered with what would have happened. Nothing is saved, nothing reaches Etsy or Printify, and no AI tokens are used.
Reads are real. Reads and market research use your real data and cost API credits as usual.
Same rules as a live key. It follows the same access and plan rules, and it counts toward your 10 keys.
Some checks can't be proven. A check that needs Etsy or Printify can come back
unverified. Run that step once with a live key before you rely on it.
See Rehearse with a test key in API: Getting started.
Connect an AI app (MCP)
Create a key for the job you want the app to do, for example a Drafting Agent key.
Copy the MCP config. On the Save your key step, open the MCP config tab under Connect it and click Copy MCP config. The snippet already includes the address and your key, and it tells you how many tools your agent will see.
Add it to your AI app. It works in Claude Code and Cursor. Paste it wherever your app adds a remote (HTTP) MCP server. In Claude Code, for example, that's the project's
.mcp.json. The snippet looks like this:{ "mcpServers": { "listingview-drafts": { "type": "http", "url": "https://api.listingview.io/mcp", "headers": { "Authorization": "Bearer lv_live_…" } } } }
The server name follows the key. A key that makes Etsy drafts is
listingview-drafts, a key that publishes islistingview-publish, and every other key islistingview.Ask for something. For example:
"How much demand is there for linen aprons on Etsy?"
"Write a title and tags for this design."
"Stage Etsy drafts of these 3 designs with my Halloween sweatshirt preset so I can review them."
Under every MCP snippet you'll see this warning. Take it seriously:
Use this key in its own app or chat. Don't add your drafting and publishing keys to the same chat or agent: enabling both in one chat removes the split; prompt-injected listing text could then publish.
Good to know:
Your agent only sees what the key allows. If it tries something the key can't do, it gets an error naming the preset that can.
Publishing from an AI app needs your confirmation. With a Publisher key, every call shows what will change and waits for a confirmation, which your app shows you.
Claude Desktop and custom connectors on claude.ai are coming soon. They need a sign-in, which API keys don't support yet.
Uploading from a chat window. Chat apps often can't send files themselves. Give the agent a public image link to import, or upload the file in Asset Library and tell the agent its name.
More setup help is in API: Connect AI apps.
Use the CLI
The CLI needs Node.js 18.3 or newer.
npx @listingview/cli auth login # paste your key at the hidden prompt npx @listingview/cli usage get # your first call: today's budget npx @listingview/cli describe # every command your key can use
To type listingview instead of npx @listingview/cli, install it once with npm install -g @listingview/cli.
Signing in.
auth loginsaves the key on this computer, readable only by you. For agents and automation, setLISTINGVIEW_API_KEYinstead. To keep several keys, save each under its own--profile.Signing out doesn't revoke.
listingview auth logoutremoves the key from this computer only.Exit code 9 means check first. ListingView can't tell whether something happened, so check your shop before trying again.
The CLI doesn't publish yet. Use the Publish button in ListingView, or a Publisher key in an AI app or your own code.
Uploading designs and making Etsy drafts:
listingview assets upload front.png back.png --collection 311 listingview presets get 1667 # shows the preset's design slots (A, B, …) listingview etsy-drafts create --shop-id 38123456 --preset-id 1667 --items items.json --wait
Add --stage to etsy-drafts create to save the batch for review instead. Add --purpose digital_file to assets upload for delivery files. Re-running the same upload or Etsy-draft command is safe: you get the first result back, never a second batch.
API: Command-line tool covers every command.
Call the API directly
Send your key in an Authorization: Bearer header on every request. This first call checks that the key works. It's free and any key can make it:
curl https://api.listingview.io/api/v1/ping \ -H "Authorization: Bearer lv_live_…"
The curl tab of the quickstart has a first call with your key already filled in. The API reference lists every route and is generated live from the API.
To make retries safe, send an
X-Idempotency-Keyheader on changes. Repeating the same request with the same key returns the first result.Errors come back as
{"error": {"code", "message", "details", "isRetryable", "docs_url", "request_id"}}. Quote therequest_idwhen you contact support.
Research the Etsy market
A key with Research Etsy can look up keywords and tags, search listings and shops, and analyze or compare shops. Give an agent a Research Assistant key if it should change nothing.
It uses your API credits. Each call costs credits by how heavy it is. Research that reads Etsy live also counts toward Live Etsy calls · today.
Some rows come back short. A listing can come back with just its id, its link and ListingView's estimates.
API: Limits & budgets explains how research is counted.
Let an agent make Etsy drafts for you
This is the workflow the API is built for. You build a preset once, in ListingView or through your agent. The agent uploads your designs, writes copy from the artwork, and turns the preset into Etsy drafts. You review the drafts and publish the ones you like.
Etsy drafts are hidden from shoppers and cost no listing fee. A Drafting Agent key can create them without asking you each time, but it can never publish them.
Before you start
You're on Plus or above, and your Etsy shop is connected.
You have a preset that works. The surest way: build one listing in the app, publish it, check it on Etsy, then save it as a preset. See Presets and POD Presets & Bulk Create.
For print-on-demand presets, the Etsy shop is mapped to your Printify shop (Settings → Account), and every product in the preset has a print provider chosen.
For digital presets, the files each listing delivers are uploaded and ready.
How the drafts loop works
Upload the designs. The agent adds them to your asset library (
add_assets, orlistingview assets upload). Each file must be ready, which means processed and virus-scanned.Read the preset. The agent looks at the preset's design slots (
list_presets) to see which design goes where.Write the copy. The agent writes titles, tags and descriptions itself, or asks for AI copy from the artwork.
Create the Etsy drafts. One job turns the preset plus designs and copy into drafts in your real Etsy shop (
create_etsy_drafts). ListingView doesn't ask you first. You agreed to that when you created the key. To check the batch first, have the agent stage it instead.Wait for the job. Drafts appear one by one, each with its Etsy listing id (
get_bulk_job_status).Review and publish. Look over the drafts in Listing Optimizer and click Publish on the ones you're happy with, or use a Publisher key.
Review a batch before it reaches Etsy
Ask the agent to stage the batch (create_etsy_drafts with operation: "stage", or etsy-drafts create --stage). Nothing reaches Etsy yet, and it uses none of your daily draft limits.
Find the batch. Open Create in the sidebar, then the Saved listings tab. The agent also gets a direct link it can give you.
Open it, fix what you want and save.
Tell the agent you're done. A submit sends the last version you saved, not edits still open on your screen.
The agent submits it. ListingView checks everything again, then makes the Etsy drafts with your edits in them.
Or send it yourself. Publish to Etsy on the card sends the batch from the app. It makes Etsy drafts too, hidden from shoppers.
Batches don't expire, and there's no reminder. You can have up to 18 staged batches open, inside your account's 20 open saved batches, which the app shares.
Limits count on the day you submit. A submit refused for a daily limit leaves the batch staged.
AI copy comes first. A staged batch takes finished copy, so the agent asks for AI copy before it stages.
Discarding is safe. Nothing on Etsy changes, and your designs stay in your library.
API: Etsy drafts walks through the whole loop.
Presets and design slots
A preset's design slots are the places where each listing's artwork goes, lettered A to J. The agent sees each slot like this:
A · "Light Designs Here" · prints on dark garments (Black, Navy, Forest)
Every enabled slot must get a design. If one is empty, the whole job is refused before anything reaches Etsy.
Through the API, agents can also:
Create presets from scratch: print-on-demand, digital (the files buyers get) and physical. Print-on-demand presets need Plus or above. See API: Presets.
Edit presets. If you edit the same preset in the app while an agent is working, the agent gets an error and must read it again. Your edits are never overwritten.
Copy a preset to another of your shops. Shop settings such as the shipping profile and return policy are checked against the new shop. A mismatch is refused, with that shop's options for the agent to pick from. They're never swapped silently.
Delete a preset. It can't be deleted while a job is using it. If an agent deletes one by mistake, contact support within 30 days and we can restore it.
Uploading designs and delivery files
An agent can upload a file directly, which works from Claude Code, coding agents, scripts and the CLI, or give ListingView a public https:// link to one image, which works from chat apps too.
Upload a design | Upload a delivery file | Import from a link | |
|---|---|---|---|
File types | PNG, JPEG, WebP | PDF, ZIP, PNG, JPEG, WebP, SVG, GIF, TIFF, TTF, OTF, WOFF, WOFF2, MP3, WAV, MP4, DOCX, XLSX | PNG, JPEG, WebP, GIF (saved as a PNG of its first frame) |
Size | Up to 50 MB per file | Up to 25 MB per file | Up to 20 MB |
Per request | Up to 20 files | Up to 20 files | One image |
Photo metadata (EXIF, GPS) | Kept | Kept | Removed |
All of them count toward your storage, and your plan sets a daily limit.
Delivery files are what a digital listing's buyers get. A file's contents must match the type the agent declared.
Ready means scanned. A file the scan flags is quarantined. An archive that's too large, too deeply nested or password-protected fails, so upload the files unzipped.
Uploading the same file twice is harmless. You get the existing file back.
PSD files and mockup templates aren't accepted. Export a PNG.
Agents can organize but not delete files. They can manage collections, rename and tag files, and duplicate them. Deleting only happens in the app.
Original files never come back out. Agents only get thumbnails, never your original designs or delivery files.
API: Uploads has the details.
AI copy from your artwork
An agent can ask for a title, 13 tags and a description written from up to 6 of your designs. It can also improve copy you already have, and it follows your saved Custom Instructions unless the agent turns them off.
Paid from AI tokens, the same as in-app AI. No API credits are used. See Tokens & Credits.
Suggestions or drafts. The agent can ask for suggestions only, or, when it drafts straight to Etsy, have the copy written onto the drafts.
No blind copy. If the AI couldn't actually see a design, ListingView refuses rather than writing copy blind. White and light designs work, because ListingView picks a background that shows them.
Etsy's rules are enforced. Copy that breaks them (a title over 140 characters, more than 13 tags, a tag over 20 characters) is flagged in suggestions and refused on drafts.
Your preset text is kept. By default the AI description is added above your preset's description.
Where API jobs show up in ListingView
In Bulk Create and Job Activity. Agent-made draft jobs and reprices carry a via API label and the key's name. You can pause or cancel draft jobs in Bulk Create.
In Saved listings. Batches an agent staged wait there for your review.
In your notifications. The bell tells you when a draft job finishes. Every publish, push, reprice and Etsy-draft delete made with an API key also notifies you, naming the key.
In Etsy and Listing Optimizer. The drafts appear there like any Bulk Create draft.
Safety checks before anything reaches Etsy
ListingView checks the whole job first. If any of these fail, it refuses the job, and no drafts are made.
A design or delivery file isn't ready, or isn't in your library.
An enabled design slot is empty, or a digital listing has no file to deliver.
The preset's shop settings belong to a different shop, or the preset changed after the agent read it.
The job is bigger than your plan allows, or would go past today's draft limit for that shop or your account.
Another Bulk Create is already running on that shop.
Print-on-demand setup is incomplete: no Printify shop mapped, or no print provider chosen.
After the job starts:
Repeats don't double up. Sending the same request again returns the same job.
"Unknown outcome" means check first. Etsy sometimes doesn't confirm whether a draft was created. Check your shop before resubmitting that item.
Print-on-demand drafts can come with Printify products. These are unpublished, so they cost nothing until someone orders. A draft you delete on Etsy leaves its Printify product behind, so tidy those up in Printify.
A digital draft counts only when every file arrives. If some files didn't reach Etsy, the item is marked failed. Delete that draft and make it again.
Deleting Etsy drafts
When drafts went to Etsy wrong, for example with the wrong preset, a Drafting Agent key can delete them and draft them again.
Only drafts ListingView made. This account's Bulk Create must have made the draft, in the app or through the API. ListingView checks Etsy first and refuses if the listing is live.
What goes. The Etsy draft, its listing in ListingView and its own Printify product.
You're told every time, and there's a cap of 50 deletes a day per account.
Shared shops. If another ListingView account also manages the listing, the delete removes it for them too, so the agent must confirm that.
Don't publish by hand during a redraft. If someone makes a draft live in the split second before its delete, the live listing is deleted.
Publish and reprice live listings
A draft goes live only when someone publishes it. There are two ways:
In ListingView (always available). Open the draft in Listing Optimizer and click Publish. This is the simplest option and needs no key.
With a Publisher key (Plus and above), from an AI app or your own code.
Read AI-written copy before you publish, because nobody has checked it yet. Each publish charges Etsy's listing fee, and a live print-on-demand listing can take orders that Printify fulfils at your cost.
Drafting and publishing use two keys
A key that can create Etsy drafts can never publish, and a key that can publish can never create drafts. So an agent that does both needs a Drafting Agent key and a Publisher key.
Keep each key in its own app, chat or script. If one chat held both, text hidden in a listing could steer the agent from drafting into publishing. Two setups that work:
Simplest: the agent uses a Drafting Agent key, and you publish with the Publish button in ListingView.
Publishing from an AI app: the agent drafts in one app or chat, and a second one holds the Publisher key as
listingview-publish.
The confirm step
Every live change runs in two steps. First the agent gets a preview of exactly what will change, and nothing has changed yet. Then it confirms, within 5 minutes. A confirmation works once, for exactly that change.
It isn't a human check by itself. Apps like Claude show the step to you, but a script holding the key can confirm on its own. Skip publish confirmations removes the step entirely.
If the listing changed after the preview, nothing is written, and a fresh preview comes back to review.
What a Publisher key can do
Publish an Etsy draft. A draft with unpushed edits must have them pushed first.
Push saved edits to Etsy: title, description, tags, price, category, section, shipping profile, return policy and more. Variants, quantities, SKUs, personalization, attributes and processing times are never sent. A push leaves a draft as a draft, and it never sends the price of a print-on-demand listing, so reprice those instead.
Put a ListingView-only listing on Etsy, as a draft (push) or live (publish). It's never created twice.
Reprice live print-on-demand listings, up to 20 in one shop under one confirmation. The preview lists every price that changes. Only prices change, and there's no rollback, so if a listing fails, push just that one again under a new confirmation.
It won't sell below cost by accident. A price below a variant's production cost is refused unless the agent says it means it (
accept_below_cost).
A stock Publisher key can't edit. To edit and push, use two keys (Catalog Editor and Publisher), or one custom key with See your listings and files, Edit listings in ListingView and Publish to Etsy. That custom key can't create a new listing on Etsy.
Live changes have an hourly and a daily limit per account, one unit per listing. See API: Publish & reprice for every step and refusal.
What each key could do if it leaked
Treat this as the worst case for each kind of key.
Research Assistant key. Nothing reaches Etsy. The worst case is spent API credits and someone reading your shop's stats.
Catalog Editor key. Nothing reaches Etsy. The worst case is unwanted local edits, uploads, and spent AI tokens and API credits.
Drafting Agent key. Someone could fill your shops with Etsy drafts up to your daily limits, including unpublished Printify products. They could delete drafts ListingView made up to the daily cap, discard staged batches, upload files, spend your AI tokens, and create, edit, copy or delete presets. They could stage edits to your listings inside ListingView, which only reach Etsy if someone pushes them. Nothing becomes visible to shoppers and no listing fees are charged.
Publisher key. Someone could make listings live one at a time, up to the limits, but only content already in your account. They could reprice live print-on-demand listings, even below cost. Each publish charges Etsy's fee, and a live POD listing can take orders. The confirm step doesn't protect against theft, because whoever holds the key can answer it.
Both keys together. If both are stolen, or simply added to the same AI chat, they can write content and then publish it. In the same-chat case nobody has to steal anything: instructions hidden in listing text could steer the assistant into publishing.
A custom key with Edit listings in ListingView and Publish to Etsy. It can rewrite your existing listings and drafts and push them live, one at a time and up to the limits.
Test key. Nothing changes. The worst case is spent API credits and someone reading your data.
What limits the damage: keys that can change Etsy stop after 60 days without use, revoking stops running jobs and cancels waiting confirmations, every live change and Etsy-draft delete notifies you, each key shows when and roughly where it was last used, and you get an email whenever a new key is created.
Credits, limits and Today's usage
Your API use is measured in a few separate budgets:
API credits. You get a daily and a monthly allowance. Most calls cost a few credits. Reading your own listings, presets, files, jobs and usage is free.
Their own limits. Some things also have a count of their own: live Etsy calls, uploads, image imports, Etsy drafts per shop and per account, the size of one draft job, Etsy-draft deletes, new presets, preset deletes, and live changes per hour and per day.
AI tokens. AI copy uses your AI token balance, the same one the app uses.
Limits grow with your plan. Your exact numbers appear in Today's usage on Settings → API Keys. Agents and scripts can read them from /usage (listingview usage get, or get_account_usage in an AI app), except with a Publisher key, which doesn't hold that access. Daily limits reset at midnight UTC. Monthly credits reset on the date shown. API: Limits & budgets explains how each budget is counted.
Today's usage shows the rows that apply to your plan:
API credits · today, API credits · this month and Live Etsy calls · today
Etsy drafts · shop · today for each shop, and Etsy drafts · whole account · today
Uploads · today
How many drafts one job can hold on your plan
The numbers can be up to a minute old. Staged batches, draft deletes, new presets and image imports aren't on the card, but agents can read them from /usage.
When a budget runs out
Agents get a budget error until it resets. Your keys keep working for everything else, and the app isn't affected.
A banner appears in Settings → API Keys. For example: "You've used today's N API credits. Agents get a budget error until midnight UTC (in 3 h 12 min)."
You're told once a day, by email and in-app notice, the first time a budget runs out.
Draft limits apply per shop and per account. The per-shop limit only blocks that shop. The account-wide limit covers all your shops together.
ListingView has a shared limit too. If an agent sees "ListingView has reached today's capacity for agent-made Etsy drafts; your plan's limit isn't the issue.", try again after midnight UTC.
Out of AI tokens? Buy a token pack or wait for your daily tokens. See Tokens & Credits.
Need more room? Change your plan in Settings → Account → Manage subscription. See Plans & Billing.
Manage and revoke keys
Your key list on Settings → API Keys shows each key's name, what it can do, when it was created and when it was last used. For example: "Last used 2h ago · via MCP · from 203.0.113.x". If you see a key used from somewhere you don't recognize, revoke it.
Badges mark the keys that matter most: Creates Etsy drafts, Publishes to Etsy, auto-confirm (amber, publishes without a confirm step) and test.
You can have up to 10 active keys. The list shows how many you're using, for example "4 of 10 active".
Unused Etsy keys stop on their own. Keys that can change Etsy show "Stops working if unused until date". After 60 days without use they show "Stopped — unused for 60 days". A stopped key can't be restarted, and it still counts toward your 10 until you revoke it.
Expiry dates. A key you gave an expiry date stops on that date.
Revoking. Click Revoke on the key, then Revoke key in the dialog. The key stops working within a minute, and this can't be undone. Its unfinished Etsy-draft and reprice jobs stop, and any confirmation it was waiting on stops working. Drafts and changes it already made stay.
Staged batches after a revoke. They stay in Saved listings, and another key with the same access can submit or discard them. If ListingView support revokes a key, for example after a leak, its staged batches are discarded too.
Seeing old keys. Turn on Show revoked to see revoked, stopped and expired keys.
Replacing a key. There's no rotate button. Create a new key, switch your app over to it, then revoke the old one.
Key concepts
API key. A secret that lets software act on your ListingView account, limited to the access you chose.
Test key. A key whose changes are dry runs. Nothing changes, and reads are real.
Access preset. A ready-made set of permissions for a key: Research Assistant, Catalog Editor, Drafting Agent or Publisher. Not to be confused with a listing preset, the template Bulk Create uses.
MCP (Model Context Protocol). The standard AI apps use to connect to tools like ListingView.
Local listing. A listing in your ListingView catalog only. Nothing about it is on Etsy until it's pushed or published.
Etsy draft. A draft listing in your real Etsy shop. Shoppers can't see it, and no listing fee is charged until it's published.
Staged batch. A batch an agent saved for your review under Saved listings. Nothing is on Etsy until it's submitted.
Confirm step. The preview-then-confirm round trip every live change needs.
Design slot. A place in a listing preset where each listing's artwork goes.
Delivery file. A file a digital listing delivers to its buyers.
Ready. A file that's been processed and virus-scanned and can be used on a listing.
API credits. Your daily and monthly API allowance. Separate from AI tokens.
Tips & best practices
Give each agent or app its own key, named after it. You can revoke one without breaking the others.
Start with the least access. Research Assistant changes nothing, and Catalog Editor is enough for tidying files and editing listings in ListingView.
One ListingView server per app or chat. Never put a drafting key and a publishing key in the same chat or agent.
Rehearse with a test key while you build a script or agent.
Test the preset before an agent uses it. A mistake in a preset multiplies across every draft.
Stage batches and keep them small, so you actually review them.
Publish in the app at first. It's the safest setup, and you'll learn what the agent produces.
Leave Skip publish confirmations off unless you fully trust the agent and the computer it runs on.
Give experiment keys an expiry date.
Common questions
Does using the API cost extra?
No. API access is included in every paid plan, within your plan's budgets. AI copy uses your AI tokens. Etsy charges its normal listing fee when a listing is published.
Can an agent publish without me?
Not with a Drafting Agent key. It can never publish. A Publisher key needs a confirm step on every live change. Apps like Claude show that step to you, but a script holding the key can confirm on its own, and Skip publish confirmations removes the step entirely.
Which AI apps work?
Claude Code and Cursor. Claude Desktop and custom connectors on claude.ai are coming soon.
Can I make digital listings through the API?
Yes. Upload the delivery files, build a digital preset, then make Etsy drafts from it. Each listing can bring its own files. Drafts made through the API deliver files, not links.
Can an agent delete my listings, files or collections?
It can't delete live listings, files or collections. A Drafting Agent key can delete Etsy drafts that ListingView made and discard staged batches. A key with Create and edit presets can delete a listing preset, and support can restore it for 30 days.
Can an agent cancel a draft job?
Not through the API. Cancel it in Bulk Create, or revoke the key.
Troubleshooting: error codes in plain words
Agents, the CLI and the API all report the same codes. Every code also has its own entry on the errors page of the API reference.
Code | What it means | What to do |
|---|---|---|
| The key is missing, mistyped, revoked or past its expiry date. The error doesn't say which, on purpose. | Copy the key again and send it as |
| The key was revoked while the call was running, or (reason | Create a new key in Settings → API Keys. |
| The key doesn't have access to do this. The message names the preset that does. | Use or create a key with that access. |
| One key tried to both draft and publish, or a key that can edit listings tried to create a new listing on Etsy ( | Use a separate Drafting Agent key and Publisher key. For a new listing, use a stock Publisher key. |
| Your plan doesn't include this. | Upgrade in Settings → Account → Manage subscription. |
| Not a problem: a live change is waiting for its confirm step. Nothing has changed yet. | Check the preview, then confirm within 5 minutes. |
| The confirmation expired, was already used or doesn't match the request, or the listing changed after the preview ( | Ask for a fresh preview. With |
| A daily or monthly limit is used up. With reason | Wait for the reset shown in Today's usage, or upgrade. For |
| Too many requests too quickly. With | Wait for the time in |
| Not enough AI tokens. | Buy tokens, or wait for your daily tokens. |
| Something in the request is wrong, such as an empty design slot. With reason | Fix what the message names. Send |
| A file is still processing or being virus-scanned. | Wait until it's ready, then try again. |
| A shop setting belongs to a different shop. | Copy the preset to that shop and pick that shop's own settings. |
| The Etsy shop isn't connected, or its connection expired. | Reconnect the shop in Settings → Account. |
| Another bulk job is running on that shop. | Wait for it to finish. |
| Something changed or clashed. Common reasons: | Follow the reason in the message. |
| That item was already sent for this shop recently. | Check your shop. Don't resubmit it. |
| A listing in a reprice isn't live, isn't print-on-demand, or hasn't synced yet. | Leave it out, or sync the shop first. |
| A listing isn't ready for Etsy yet. | Let the mockups render, or add the delivery files. |
| ListingView can't tell whether Etsy created the listing or made it live. | Check your Etsy shop before trying again. |
| Print-on-demand setup is incomplete. | Map the shop to Printify in Settings → Account, or choose a print provider. |
| Your asset library is full. | Free up space or upgrade. |
| The link isn't a public | Use a public link, or upload the file. |
| This isn't available right now, or ListingView has paused it. | Follow the message, and try again later. |
| ListingView, Etsy, Printify or the AI provider couldn't answer just now. | Try again later, after |
| Several live changes failed in a row, so live changes on this account are paused for a short while. | Wait for |
| The AI couldn't see the artwork, so no copy was written. | Try again. Check that the design is ready. |
Still stuck? Contact support and include the request_id from the error.
For developers
Step-by-step guides for building on the API:
API: Getting started: your first call, test keys, idempotency keys and the error shape
API: Connect AI apps: MCP setup and every tool a key can unlock
API: Command-line tool: install, sign in and every command
API: Uploads: the three-step upload, delivery files and importing from a link
API: Presets: print-on-demand, digital and physical presets from scratch
API: Etsy drafts: stage a batch, review it, submit it, and delete and redraft
API: Publish & reprice: the Publisher key, the confirm step and bulk reprices
API: Limits & budgets: credits, daily budgets, Etsy-draft limits and rate limits
Generated live from the API: the API reference, the error codes, the scopes and the security and disclosure policy.
Related features
Presets: build the listing presets agents draft from
POD Presets & Bulk Create: print-on-demand presets and design slots
Bulk Create: where agent-made draft jobs and saved batches appear
Asset Library: where uploaded designs live
Listing Optimizer: review and publish drafts
Tokens & Credits: AI tokens used for AI copy
Plans & Billing: which plan includes what
Account & Security: keeping your account safe
Still need help?
Can’t find what you’re looking for? Our team is happy to help.
A.I. Summary