Oystercatcher

, 11 December 2017
Oystercatcher
oystercatcher © Dave Kilbey

By Charlotte Owen

WildCall Officer

There’s no mistaking the oystercatcher, one of the largest, noisiest and arguably best dressed of our shorebirds. Its smart black-and-white dinner suit is offset by a day-glow orange bill, bright red eyes and pinkish legs in a stylish ensemble that hints at an expensive taste for fine dining. The oystercatcher is probably the only wading bird capable of cracking open an oyster, thanks to the incredible strength of that orange bill, but oysters are not often on the menu here in the UK. Instead, oystercatchers feed on a wide range of other shelled prey from cockles to crabs, mussels, limpets and whelks, and will also probe the sand and mud in search of worms. Individuals will usually specialise in either crunchy or soft-bodied prey, and their beaks adapt accordingly.

Oystercatchers that focus on shellfish will either prise them open or smash them apart, and young birds seem to learn their trade from their parents during an apprenticeship that can last up to six months. Their chosen method helps to hone their bill into the perfect tool for the job: a chisel-shaped bill-tip for prising, or a blunt-ended bill to hammer a shell until it cracks. In contrast, birds that specialise in probing for worms have pointed, tweezer-like bill-tips for grasping slippery, soft-bodied prey and their apprenticeship is far shorter, since it’s a much easier technique to master. Their choice isn’t set in stone though and individual birds can swap between feeding techniques when needed. An oystercatcher’s bill grows so rapidly, at a daily rate of 0.4mm –three times faster than our fingernails and equivalent to one complete bill-length every six months – that when switching from a diet of shellfish to lungworms it takes a mere ten days for a bird’s bill to morph from chisel into tweezers.

Since all of the potential feeding methods require considerable time and skill, some enterprising individuals choose an alternative option and become professional pirates. The oystercatcher’s heavy bill makes a formidable weapon, perfect for a spot of swashbuckling with unsuspecting neighbours, and successful bandits manage to obtain about 60% of their food by attacking other waders and stealing their lunch.

oystercatcher in flight © Derek Middleton

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1783519504.41840 [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
1783519504.45060.0322Matched route: news/[slug:s]
1783519504.45080.0002Server address: 216.73.216.55
1783519504.45090.0001Using master page: /templates/pages/blog/post.php
1783519504.45090Page arguments:
Array
(
    [0] => /news/oystercatcher
    [s] => oystercatcher
    [1] => oystercatcher
)
1783519504.45130.0004 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783519504.45260.0013 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783519504.45510.0025 [1] SELECT * FROM swt_shop_cart WHERE cartID=22784643
1783519504.45610.0009 [1] SELECT * FROM swt_shop_cart WHERE cartID=22784643
1783519504.45690.0008 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-08 14:05:00' AND saleTo>'2026-07-08 14:05:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783519504.45850.0016 [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='oystercatcher')) 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 14:05:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783519504.46110.0026 [1] SELECT FOUND_ROWS() AS `count`
1783519504.46180.0007 [1] SELECT * FROM swt_blog_posts WHERE postID=1467 AND postStatus='Published' AND postDateTime<='2026-07-08 14:05:00'
1783519504.4630.0012 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783519504.46390.0009 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783519504.46470.0008 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1783519504.46550.0008Using template: /templates/blog/post.html
1783519504.46580.0003 [162] SELECT catID, catPath FROM swt_categories
1783519504.46680.001 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-08 14:05:00' AND postSlug='oystercatcher'
1783519504.48890.0221Using template: /templates/blog/post.html
1783519504.48980.0009 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783519504.49190.0021Using template: /templates/pages/attributes/seo.html
1783519504.49220.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783519504.49330.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
1783519504.49520.0019 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783519504.49870.0035 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783519504.49950.0008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783519504.50190.0025Using template: /templates/navigation/ps_nav_template.html
1783519504.5020.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783519504.50290.0009 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783519504.50340.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783519504.5060.0026 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783519504.50720.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783519504.50790.0008 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783519504.51120.0033 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783519504.51230.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
1783519504.5150.0026 [1] Using template: /templates/navigation/breadcrumbs.html
1783519504.51550.0006Using template: /templates/blog/post.html
1783519504.51580.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783519504.51680.001Using template: /templates/blog/author.html
1783519504.51730.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='oystercatcher')) 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 14:05:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783519504.51970.0024 [1] SELECT FOUND_ROWS() AS `count`
1783519504.52040.0007 [1] Using template: /templates/blog/post.html
1783519504.52410.0038Using template: /templates/blog/comment_form.html
1783519504.52520.0011 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=1467 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783519504.57680.0516 [0] Using template: /templates/blog/comment.html
1783519504.5770.0002Using template: /templates/blog/post.html
1783519504.57730.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783519504.57820.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783519504.57890.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783519504.57960.0007 [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
1783519504.5820.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783519504.58280.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783519504.58530.0025 [6] Using template: /templates/navigation/footer-nav.html
1783519504.58660.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783519504.58750.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783519504.58810.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783519504.5910.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783519504.59170.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783519504.59380.0021 [10] Using template: /templates/navigation/footer-nav.html
1783519504.59780.0041 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783519504.59880.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783519504.59950.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
1783519504.60210.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783519504.60280.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783519504.60490.0021 [29] Using template: /templates/navigation/footer-nav.html
1783519504.60820.0033 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783519504.6090.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783519504.60950.0005 [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
1783519504.6120.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783519504.61260.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783519504.61470.0021 [10] Using template: /templates/navigation/footer-nav.html
1783519504.61630.0016Request time: 0.2016
1783519504.61630Process time: 0.2014
1783519504.61640Memory: 1.6244