Is it a bee, or is it a fly in a cunning disguise?

, 06 July 2021
Is it a bee, or is it a fly in a cunning disguise?
Bee fly © Alan Price

By Charlotte Owen

WildCall Officer

Alongside the familiar buzz of the bumblebees, busily foraging for nectar and pollen, keep an eye out for something a little bit different. It certainly looks like a bee, and it even buzzes like a bee, but its legs are a bit too gangly and there is a long, pointy bit at the front. 

Is it a bee? Is it a fly? Well, it’s a bee-fly.

The bee-fly is somewhat unimaginatively named for its half-bee, half-fly appearance. It is in fact all-fly but it has evolved a cunning disguise so that it can masquerade as a fluffy bumblebee. There are four species of bee-fly in Britain but the one most commonly seen is the dark-edged bee-fly, which has a dark-coloured band along the front edge of each wing - but this can be hard to see unless the bee-fly settles. They often visit gardens and parks, and the long ‘nose’ is actually a tongue, or proboscis, used to sip nectar from its favourite flowers: primrose, ground ivy, blackthorn and wild cherry. 

They don’t sting or bite and are completely harmless to humans, but they do have a dark side. Bee-flies are parasites and lay their eggs in the nests of solitary mining bees - the ones that dig tiny burrows in the ground. The bee-fly larvae hatch out and lurk in the shadows until the unsuspecting bee larvae are big and juicy enough to make a decent meal. If you spot a bee-fly on the ground it’s likely to be a female getting ready to lay an egg, and it’s a fascinating process. She will first dip the tip of her abdomen into the soil to coat the tiny egg with soil particles, which provides useful camouflage but also adds some strategic weight. This is key to delivery: she will hover over the entrance of a mining bee’s burrow and flick the egg towards the tunnel, like throwing a dart, and the added weight makes it a lot easier for her to score a bullseye. 

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1783072928.07110 [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
1783072928.09830.0272Matched route: news/[slug:s]
1783072928.09850.0002Server address: 216.73.216.251
1783072928.09850Using master page: /templates/pages/blog/post.php
1783072928.09850Page arguments:
Array
(
    [0] => /news/is-it-a-bee-or-is-it-a-fly-in-a-cunning-disguise
    [s] => is-it-a-bee-or-is-it-a-fly-in-a-cunning-disguise
    [1] => is-it-a-bee-or-is-it-a-fly-in-a-cunning-disguise
)
1783072928.09880.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783072928.09990.0011 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783072928.10180.0019 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1783072928.10250.0008INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1783072928.10460.0021 [1] SELECT * FROM swt_shop_cart WHERE cartID=22561916
1783072928.10530.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22561916
1783072928.1060.0007 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-03 10:02:00' AND saleTo>'2026-07-03 10:02:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783072928.10720.0012 [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='is-it-a-bee-or-is-it-a-fly-in-a-cunning-disguise')) 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-03 10:02:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783072928.10930.0021 [1] SELECT FOUND_ROWS() AS `count`
1783072928.110.0006 [1] SELECT * FROM swt_blog_posts WHERE postID=2569 AND postStatus='Published' AND postDateTime<='2026-07-03 10:02:00'
1783072928.11090.0009 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783072928.11160.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783072928.11230.0007 [1] SELECT * FROM swt_categories WHERE catID=181 LIMIT 1
1783072928.11290.0006 [1] SELECT * FROM swt_categories WHERE catID=49 LIMIT 1
1783072928.11350.0006Using template: /templates/blog/post.html
1783072928.11370.0002 [162] SELECT catID, catPath FROM swt_categories
1783072928.11480.0011 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-03 10:02:00' AND postSlug='is-it-a-bee-or-is-it-a-fly-in-a-cunning-disguise'
1783072928.13590.0211Using template: /templates/blog/post.html
1783072928.13640.0005 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783072928.13810.0018Using template: /templates/pages/attributes/seo.html
1783072928.13840.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783072928.13920.0008 [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
1783072928.14040.0012 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783072928.14350.0032 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783072928.14420.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783072928.14630.0022Using template: /templates/navigation/ps_nav_template.html
1783072928.14640.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783072928.14730.0009 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783072928.14790.0006 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783072928.15050.0026 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783072928.15160.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783072928.15230.0008 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783072928.15480.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783072928.15580.001 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1783072928.15820.0023 [1] Using template: /templates/navigation/breadcrumbs.html
1783072928.15870.0005Using template: /templates/blog/post.html
1783072928.1590.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='20' LIMIT 1
1783072928.160.001Using template: /templates/blog/author.html
1783072928.16040.0004 [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='is-it-a-bee-or-is-it-a-fly-in-a-cunning-disguise')) 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-03 10:02:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783072928.16260.0022 [1] SELECT FOUND_ROWS() AS `count`
1783072928.16320.0006 [1] Using template: /templates/blog/post.html
1783072928.16670.0036Using template: /templates/blog/comment_form.html
1783072928.16770.001 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=2569 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783072928.2180.0503 [0] Using template: /templates/blog/comment.html
1783072928.21830.0002Using template: /templates/blog/post.html
1783072928.21850.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='20' LIMIT 1
1783072928.21940.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783072928.22030.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783072928.22090.0006 [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
1783072928.22290.002 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783072928.22340.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783072928.22520.0018 [6] Using template: /templates/navigation/footer-nav.html
1783072928.22610.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783072928.22660.0005 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783072928.22710.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783072928.22940.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783072928.22990.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783072928.23190.0019 [10] Using template: /templates/navigation/footer-nav.html
1783072928.23510.0033 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783072928.23590.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783072928.23640.0005 [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
1783072928.23890.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783072928.23940.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783072928.24130.0018 [29] Using template: /templates/navigation/footer-nav.html
1783072928.24370.0024 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783072928.24440.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783072928.24490.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
1783072928.2470.0021 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783072928.24750.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783072928.24940.0019 [10] Using template: /templates/navigation/footer-nav.html
1783072928.25070.0013Request time: 0.1817
1783072928.25070Process time: 0.1815
1783072928.25070Memory: 1.6218