On the trail of the olfactory otter

, 09 November 2017
On the trail of the olfactory otter
otter spraint © Fran Southgate

By Fran Southgate

Living Landscapes Advisor

A little over a year ago we could confirm that after an absence of over four decades, otters are living in Sussex once more. Having waited for their return for so long, it’s been almost as much of a journey for us discovering where and how our otters are choosing to recolonise, as it has for the otters themselves. Sussex is a blank canvas for otters at the moment. With no other otters to compete with, the recolonising otter(s) effectively have the pick of the best bits of Sussex, and it’s fascinating to watch where they are choosing to live.

Although camera traps can record nocturnal footage of these intelligent creatures, we are still fundamentally reliant on scrambling round river banks looking for otter field signs to help us work out where they are. There are three main field signs that we can look for – footprints, otter spraint (droppings) and anal jelly! What’s anal jelly I hear you cry? …. Well, I’ll get to that in a minute!

European otters are mainly solitary animals, who appear to use scent as one of the main means of communication. As with many territorial mammals, scent communication tends to be by means of deposits of droppings, urine, or in this case also anal jelly, left in strategic places around their territories. It’s effectively a bit of an ‘Oi Gerrof my land’ message left in the best bits of their territory telling others to keep out.

We still don’t know that much about how, or more to the point what, otters communicate through anal jelly and spraint; nor do we know much about the social function that this performs. Studies of captive otters show that it is potentially quite a sophisticated system of communication, which is tailored to each individual otter. There are also clear differences between juvenile and adult scent messages – with adults developing much more ‘aromatic complexity’ in the layers of scent they put down!

It’s fairly certain that otters use scent to attract a mate – a kind of mustelid perfume or aftershave used to lure in a mate without the otter even needing to be there. On the flip side, the scent of pregnant and lactating females is very different to that of male and juvenile scent, but females appear to avoid too much scent communication when they are caring for young, perhaps preferring to use it as more of an ‘oi gerrof’ message again

One of the most noticeable things about otter spraint is that it retains its smell for a long time. I have a 20 year old otter poo that still has a fairly potent ‘eau de otter’. So what does it smell like to the human nose? Both spraint and anal jelly are surprisingly not unpleasant! There is a sweetish jasmine tea type smell, blended with a hint of fish which tends to linger in your nostrils for a while after you’ve smelt it!! And as for the anal jelly, it appears to be linked with potential for breeding, but no one really knows.

Yesterday I managed to find more otter signs in Sussex in 2 hours, than I had in 16 years – the full gamut. You can see pictures of the three main ones – otter spraint, an otter footprint and… anal jelly. We await with baited breath (and that’s not just because I’m holding my nose!) to see if the anal jelly means anything more than just ‘hello I’m here’.

otter anal jelly

otter footprint


Leave a comment

Comments

  • Paul Floyd:

    While it’s great to see otters returning to the area it is also rather worrying for the river ecology. With less than 20% for UK rivers classed as ecologically good or better, the added pressure of an apex predator has been too much for some rivers with complete collapse of native fish populations. Action is needed to return our UK river to a ecologically sound self sustaining stay so both our wonderful fish and predators can happily live in balance. We are working with UKWOT and angling groups towards that goal.

    10 Nov 2017 08:51:01

  • Patrick Bradfield:

    I am so glad to hear that you have found more signs of otters colonising w.sussex. I did the otterspotting course and a survey with you about 5 years ago then went to Africa and forgot about it for a while. Reading this has reminded me to go out and check possible haunts again in the Chichester area. All the best. P.

    10 Nov 2017 11:40:08

  • @Paul Floyd – We agree that continuing action is needed to help our rivers to become ecologically healthy and self sustaining to enable both humans and wildlife to live in a healthy balance. There are a whole range of organisations who have been working hard to achieve good ecological status for all our rivers including Wildlife Trusts, Rivers Trusts, and the Environment Agency to name just a few.

    Scientific evidence suggests that the presence of apex predators (other than humans!) is one of the main contributing factors in keeping ecosystems healthy. There’s a fantastic you tube video available on how wolves change rivers. We’re not suggesting introducing wolves to Sussex, but the presence of an otter is a positive sign. Otters represent the whole of the health of the ecosystem below them, and they help to keep that ecosystem healthy. The main reason that they died out in the first place is pollution. If otters are choosing to return to Sussex, then it is because all the hard work that many people have put it, is now paying off in creating a healthy aquatic environment for all aquatic species, and for humans.

    14 Nov 2017 10:30:41

  • Joe Downie:

    Hi, i was at Rye Harbour nature reserve yesterday and swear I saw an otter in the pool by Camber Castle. Is that likely or even possible?

    Thanks, Joe

    28 May 2020 22:24:00

  • Emma:

    Hi Joe. It’s not impossible, but we have no records of them. Could be the smaller American Mink or large spawning Carp?

    29 May 2020 07:10:09

Time Δ Debug Message - Perch Runway 3.2
1783523791.25470 [906] SELECT p.pagePath, pr.routePattern, pr.routeRegExp, p.pageTemplate, pr.routeOrder, s.settingValue AS siteOffline FROM swt_pages_staging p LEFT JOIN swt_page_routes pr ON p.pageID=pr.pageID LEFT JOIN swt_settings s ON s.settingID='siteOffline' UNION SELECT NULL AS pagePath, pr2.routePattern, pr2.routeRegExp, pr2.templatePath AS pageTemplate, pr2.routeOrder, NULL AS siteOffline FROM swt_page_routes pr2 WHERE templateID!=0 ORDER BY routeOrder ASC, pagePath ASC
1783523791.28160.0269Matched route: news/[slug:s]
1783523791.28180.0002Server address: 216.73.216.55
1783523791.28180Using master page: /templates/pages/blog/post.php
1783523791.28190Page arguments:
Array
(
    [0] => /news/on-the-trail-of-the-olfactory-otter
    [s] => on-the-trail-of-the-olfactory-otter
    [1] => on-the-trail-of-the-olfactory-otter
)
1783523791.28220.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523791.28320.001 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783523791.28510.0019 [1] SELECT * FROM swt_shop_cart WHERE cartID=22786771
1783523791.28590.0008 [1] SELECT * FROM swt_shop_cart WHERE cartID=22786771
1783523791.28660.0007 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-08 15:16:00' AND saleTo>'2026-07-08 15:16:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783523791.2880.0014 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='on-the-trail-of-the-olfactory-otter')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-07-08 15:16:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783523791.29060.0026 [1] SELECT FOUND_ROWS() AS `count`
1783523791.29140.0007 [1] SELECT * FROM swt_blog_posts WHERE postID=1451 AND postStatus='Published' AND postDateTime<='2026-07-08 15:16:00'
1783523791.29240.001 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783523791.29320.0008 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783523791.29410.0009 [1] SELECT * FROM swt_categories WHERE catID=65 LIMIT 1
1783523791.29460.0006 [1] SELECT * FROM swt_categories WHERE catID=91 LIMIT 1
1783523791.29520.0005Using template: /templates/blog/post.html
1783523791.29540.0002 [162] SELECT catID, catPath FROM swt_categories
1783523791.29630.0009 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-08 15:16:00' AND postSlug='on-the-trail-of-the-olfactory-otter'
1783523791.31870.0224Using template: /templates/blog/post.html
1783523791.31920.0005 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783523791.32090.0017Using template: /templates/pages/attributes/seo.html
1783523791.32120.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783523791.32230.0011 [nil] SELECT * FROM ( SELECT idx.itemID, c.regionID, idx.pageID, c.itemJSON, idx2.indexValue as sortval FROM swt_content_index idx JOIN swt_content_items c ON idx.itemID=c.itemID AND idx.itemRev=c.itemRev AND idx.regionID=c.regionID JOIN swt_content_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE ((idx.regionID=104 AND idx.itemRev=0)) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, pageID, itemJSON, sortval, regionID ORDER BY sortval ASC
1783523791.3240.0017 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783523791.32710.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523791.32780.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523791.33010.0023Using template: /templates/navigation/ps_nav_template.html
1783523791.33020 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783523791.33120.0011 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783523791.33180.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783523791.33470.0029 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783523791.33590.0012 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783523791.33680.001 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783523791.34030.0035 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783523791.34140.0011 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1783523791.3490.0076 [1] Using template: /templates/navigation/breadcrumbs.html
1783523791.34960.0006Using template: /templates/blog/post.html
1783523791.34990.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783523791.35110.0012Using template: /templates/blog/author.html
1783523791.35160.0005 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='on-the-trail-of-the-olfactory-otter')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-07-08 15:16:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783523791.35380.0022 [1] SELECT FOUND_ROWS() AS `count`
1783523791.35450.0007 [1] Using template: /templates/blog/post.html
1783523791.35780.0033Using template: /templates/blog/comment_form.html
1783523791.35910.0013 [5] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=1451 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783523791.41640.0573 [5] Using template: /templates/blog/comment.html
1783523791.41830.0019Using template: /templates/blog/post.html
1783523791.41860.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783523791.41960.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783523791.42030.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783523791.42110.0008 [7] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-002%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783523791.42370.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523791.42440.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523791.42710.0027 [6] Using template: /templates/navigation/footer-nav.html
1783523791.42820.0011 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783523791.42890.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783523791.42930.0004 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783523791.43210.0028 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523791.43260.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523791.43550.0029 [10] Using template: /templates/navigation/footer-nav.html
1783523791.43870.0032 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783523791.43960.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783523791.44020.0006 [30] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-004%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783523791.44280.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523791.44340.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523791.44540.002 [29] Using template: /templates/navigation/footer-nav.html
1783523791.4480.0026 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783523791.44890.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783523791.44950.0006 [11] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783523791.45240.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523791.45310.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523791.45540.0023 [10] Using template: /templates/navigation/footer-nav.html
1783523791.4570.0016Request time: 0.2038
1783523791.4570Process time: 0.2036
1783523791.4570Memory: 1.6305