Hi Matty,
you can "explore" every object in WL using the command FullForm
. Then you can see how details can be extracted. In the case of contour lines one can try this:
(* example plot using "ContourShading\[Rule]None": *)
data = RandomReal[1, {10, 10}];
plot = ListContourPlot[data, InterpolationOrder -> 3, PlotRange -> All, ContourShading -> None]
You get a list of lines (according to the levels) like so:
lines = Normal[First@plot][[2]];
To convince yourself on what you get try:
plotRange = First@AbsoluteOptions[plot, PlotRange];
Manipulate[Graphics[lines[[;;n]], plotRange], {n, 1, Length[lines], 1}]

Hope that helps, regards -- Henrik
EDIT:
[source code] /. conts -> plot