Timestamp Trade

:placard: Summary Sync Markers with timestamp.trade, a new database for sharing markers.
:link: Repository https://github.com/stashapp/CommunityScripts/tree/main/plugins/timestampTrade
:information_source: Source URL https://stashapp.github.io/CommunityScripts/stable/index.yml
:open_book: Install How to install a plugin?

I’ve created the api https://timestamp.trade to sync markers between stash instances and xbvr.
This sits along side other metadata databases like stashdb while we wait for the feature to be added there.

The api does not currently require an api key but one may be required in the future.

Fetching scenes require a stashdb id on the scene.
Submitting markers does not require a stashid on the scene but it is recommended.

Installation

Move the timestampTrade directory into Stash’s plugins directory, reload plugins.

Tasks

  • Submit - Submit markers for all scenes that have markers.
  • Sync - Fetch markers for all scenes with a stash id.
  • Post update hook - Fetch markers for that scene

Screenshots

Plugin settings

2 Likes

Hello. I want to use Timestamp Trade plugin. I run stash v0.28.1 on PC with windows 10 64 bit. I installed python 3.13, 3.12, 3.11 (got older ones after no success with only 3.13) from microsoft store, installed stashapp tools using command prompt ( pip install stashapp-tools, tried ```
pip install --user --break-system-packages stashapp-tools
), requests library is installed, enviroment variable to python exists, i created a folder in my library so that it is covered by stash. When i try to sync markers, it would not work and return error [Plugin / Timestamp Trade] ModuleNotFoundError: No module named 'stashapi. Same error happens when i try running other plugins dependant on stashapi (e.g. tpdb markers or Tag Scenes From Performer Tags). I tried restarting pc and running stash as administrator.
On another pc i managed to make these plugins work, but i didn’t remember exact sequence of actions i took to make them work. Please, help!

install python from python.org not the windows store.
in stash you might need to specify the path to python.exe in settings > system > Python Executable Path.
With multiple pythons installed you need to make sure you install stashapp-tools for the python you are using..

Thank you. The problem was that stashapp-tools were installed for python-org (Local\Programs\Python\Python313\python.exe) python, but not for windows store (\Microsoft\WindowsApps\python.exe) one. i managed to run plugins when i specified path to Python\Python313 executable and it would not work if i put WindowsApps path. however, on my other PC i have only windows store python and it works without specified path to executable.
problem was that stashapp-tools were installed only to \Python\Python313\site-packages. to make it work i copied folder site-packages to \AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313 (there were no folders local-packages and Python313 , i created them, it was like this on my other pc). after that plugins worked without specified path to python executable.
it may seem stupid, but my stash is on removable drive, so i would like to be able to use it on any pc without tuning such things as python executable path each time
and when i tried to install stashapp-tools using plugin Python Tools Installer, it would return error.

You can install Python to the same removable drive you have your Stash files on and that way you’ll always have the correct Python for your Stash as well as full control over which packages your Stash plugins/scrapers use

1 Like

@tweeticoats would you be interested in reviewing it?

@tweeticoats would you be interested in reviewing it?

This is super nice. And on a new add it works perfectly.

I got like 400 scenes and I’m having getting marks for 200 of them. Does it retry all s enes with stashids every time you force sync? Or does it skip ones with markers? I’m suspecting it does retry all and then timeout or something.

Maybe a setting to force sync only those without markers would be good

Is there a step-by-step idiot’s guide to setting up and using this plugin? I installed it but I have no idea what all the options mean. I turned on the option “Add markers from timestamp.trade” and then edited a scene and hit Save, but nothing seemed to happen and there are no markers listed under the Markers tab. For Hooks, it says it triggers on Scene.Update.Post so I assumed it would trigger when I updated a scene with the Save button. Yes the scene has a StashID. Please help out an idiot…

I finally found the Sync button under Settings → Tasks. I’m getting an error about the database being locked. I disabled all other plugins. Any help?

25-11-10 19:41:06
Error   
Plugin returned error: exit status 1
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]     cur.execute(
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]   File "/root/.stash/plugins/community/timestampTrade/timestampTrade.py", line 1222, in db_migrations
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]            ^^^^^^^^^^^^^^^
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade] sqlite3.OperationalError: database is locked
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]     conn = db_migrations()
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]   File "/root/.stash/plugins/community/timestampTrade/timestampTrade.py", line 382, in processSceneTimestamTrade
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]   File "/root/.stash/plugins/community/timestampTrade/timestampTrade.py", line 28, in processScene
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]     processSceneTimestamTrade(s)
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]   File "/root/.stash/plugins/community/timestampTrade/timestampTrade.py", line 486, in processAll
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]     processAll(query)
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]   File "/root/.stash/plugins/community/timestampTrade/timestampTrade.py", line 1456, in <module>
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade]     processScene(s)
2025-11-10 19:41:06
Error   
[Plugin / Timestamp Trade] Traceback (most recent call last):
2025-11-10 19:39:23
Info    
[Plugin / Timestamp Trade] fetching data: 100 - 200 1.2%
2025-11-10 19:35:43
Info    
[Plugin / Timestamp Trade] fetching data: 0 - 100 0.0%
2025-11-10 19:35:43
Info    
[Plugin / Timestamp Trade] 8140 scenes to process.
2025-11-10 19:35:42
Info    
[Plugin / Timestamp Trade] Getting scene count
2025-11-10 19:35:43
Info    
[Plugin / Timestamp Trade] fetching data: 0 - 100 0.0%
2025-11-10 19:35:43
Info    
[Plugin / Timestamp Trade] 8140 scenes to process.
2025-11-10 19:35:42
Info    
[Plugin / Timestamp Trade] Getting scene count

Is this currently working? I’m getting the following error since updating stash:
Exception: 422 Unprocessable Entity query failed. v0.29.3-0

Try updating stashapp-tools by running pip install --force-upgrade stashapp-tools.

Is there a way to report or remove junk from timestamp.trade? I have scenes that are syncing junk/arbitrary/unofficial movies linked to certain scenes. Example: Arbitrary group named “Favoriten” which I assume is just a group that someone has made for their favorites, but now it’s automatically syncing every time I update that scene.

On a scene level you can add the [Timestamp: Skip Sync] tag to the scene and this scene will be ignored by the plugin.

there is not much you can do apart from telling me and I can delete it, this is the disadvantage of blindly accepting crowd sourced data.

Hello and first of all thank you for this wonderful plugin and project in general!

I have maybe a stupid question. I am using timestamp.trade on both my Stash and XBVR, but it seems that it imports timestamps on some scenese only in Stash and on some only in XBVR. Is the XBVR timestamp json same in content as what the Stash plugin pulls? If not, is there any way to have both to import to XBVR/Stash?

Example scenes:

has timestamps imported through XBVR, but none in Stash

https://stashdb.org/scenes/bca12780-763d-4969-99f8-23e481db462a
has timestamps imported through Stash, but none in XBVR

Both XBVR and Stash were synced/imported in the same hour (and to be sure I tried again this morning to be sure) and all scenes in my XBVR have the correct StashDB link (I assume that is how they are identified). Both Stash and XBVR also link to the same files in the same folder.