A single-user tool with two jobs. Today it reads public Etsy listing and shop data to work out which digital-download niches have real demand — before opening a shop rather than after. Once that shop exists, it will also create and edit its listings.
One person, in Portugal, on her own computer. It is a command-line script and a local Model Context Protocol server. There is no hosting, no public interface, no accounts, no other users. This page is the only thing about it that is on the web.
Only public, app-level endpoints, authenticated with an API key. No OAuth on any account other than my own.
The same tool is intended to create and edit listings in my own shop, once I open one — the ordinary seller work that Shop Manager makes tedious in bulk: drafting a digital download listing with consistent tags and attributes, and editing them afterwards.
That half is written but unused, because there is no shop yet. It requires OAuth against my own account and touches no one else's. I am declaring it now rather than asking again later.
One run a day, roughly 600 to 900 calls, paced. The client reads x-limit-per-day and x-remaining-today from every response and stops before the quota is reached. On 429 it backs off exponentially and respects retry-after.
One line per observation per day, in a local file. For a listing: id, favourite count, price, listing type, creation date. For a shop: id, name, transaction_sold_count, review count and average, listing counts.
The reason for keeping them is that a single reading of a cumulative counter says nothing. The difference between two readings is what shows whether a niche is growing or shrinking.
Status: not collecting. The tool is written and tested, but has made no collection run and holds no Etsy data.
Section 5 of the API Terms of Use says content must not be cached or retained longer than reasonably necessary to provide the service to Application users. Since I am the only user and the trend is the service, I did not want to interpret that clause on my own. I am writing to developer@etsy.com to ask whether daily retention is permitted and for how long, and offering narrower alternatives — a fixed retention window, derived aggregates only, or aggregate metrics with no shop identifiers at all.
Nothing will be collected until there is an answer.