The date on your listing is probably the wrong one
Etsy returns two creation dates per listing. The obvious one is the wrong one, and it threw our numbers out by a factor of 37.
We wanted a simple number: how fast is a listing gaining favourites? Favourites divided by the days since it opened. Two fields, one division. We built it, looked at the output, and the top listing was gaining 374 favourites per day.
That is not a plausible number for a small shop. It is barely a plausible number for a large one. So we went back to the field we had divided by.
Etsy has two creation dates
An Etsy listing returned by the API carries both of these:
creation_timestamp 1751328000
original_creation_timestamp 1688169600
The first one is the one you reach for. It is named creation_timestamp, it sits
near the top of the response, and nothing about it warns you. It is also, for most active
listings, not the date the listing was created.
Etsy listings expire after four months. Most sellers have auto‑renew on, so the listing
renews itself, silently, and keeps selling. Each renewal moves
creation_timestamp forward. A listing you opened three years ago and never
touched will report a creation date from within the last four months, because it has quietly
renewed itself nine times.
original_creation_timestamp is the one that does not move.
What the difference was worth
We recomputed the same metric on the same listings, changing only which field went into the denominator.
original_creation_timestamp. The renewed date made the listing look ten days
old when it was a year and a half old.
Every listing in the shop was wrong in the same direction: too young, therefore too fast. And because the error scales with how long a listing has been open, it was worst exactly where it mattered most — on the old, proven listings. The steady earners looked like overnight hits, and the actual overnight hits were buried underneath them.
If you rank listings by that metric, the ranking is not slightly off. It is close to inverted.
The second surprise: the two endpoints disagree
After the fix we ran a check, comparing the dates we already had against the same listings
fetched a second way. Etsy’s search endpoint and its batch endpoint do not always return the
same original_creation_timestamp for the same listing.
We do not know why the two differ, and we are not going to guess in public. What we do is cheap and worth doing: when a listing’s implied rate is extreme, fetch it again from the batch endpoint and use that. Out of a large catalogue that flagged 87 listings as suspicious, corrected 2, and cost a single API call.
What to take from this
- If you are calculating anything per‑day about a listing — favourites, views,
orders — check which creation field you divided by. Use
original_creation_timestamp. - The error is invisible in the output. Nothing looks broken. A wrong number and a right number are the same shape, which is why this survived in our own code long enough to be embarrassing.
- When a metric produces a number you would not defend out loud, do not adjust the display. Go back to the inputs.
Stallsy uses original_creation_timestamp everywhere, and re‑checks the
outliers against the batch endpoint before it shows you a rate. It costs one call and it is
the difference between a ranking and a random order.
This describes fields Etsy publishes in its own API documentation, measured on our own shop’s listings. It is not a statement about how Etsy search works, and it is not advice about what will sell.