diff --git a/Trajectories/search_segment.py b/Trajectories/search_segment.py
new file mode 100755
index 0000000000000000000000000000000000000000..ab81355c5fabc7796ec33de6628e09cd7e4d3127
--- /dev/null
+++ b/Trajectories/search_segment.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+"""This script reads a graph of segments (with or without cost values)
+and searches the segment containing a given instantaneous eddy.
+
+"""
+
+import sys
+import json
+
+import graph_tool
+
+g = graph_tool.load_graph(sys.argv[1])
+node = int(sys.argv[2])
+
+for v in g.vertices():
+    if node in g.vp.inst_eddies[v]:
+        print("segment =", g.vp.inst_eddies[v])
+        break
+else:
+    sys.exit("Node not found")
diff --git a/Trajectories/search_traj.py b/Trajectories/search_traj.py
new file mode 100755
index 0000000000000000000000000000000000000000..d24e0d550c129041b50736026ebb1b4caa0cf330
--- /dev/null
+++ b/Trajectories/search_traj.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+"""This script reads a Json file containing trajectories as lists of
+segments, and searches the trajectory which contains a given segment.
+
+"""
+
+import sys
+import json
+
+with open(sys.argv[1]) as f_obj:
+    traj_segm = json.load(f_obj)
+
+segment = int(sys.argv[2])
+
+for traj in traj_segm:
+    if segment in traj:
+        print(f"{traj=}")
+        break
+else:
+    sys.exit("Trajectory not found")