Using the API, you can find all questions that have a certain tag, then filter out the ones that have more than one tag. Here is a demonstration that searches for questions tagged solely with puncture on Bicycles:
var tag = "puncture";
var site = "bicycles";
var url = 'http://api.stackexchange.com/2.1/questions?sort=activity&callback=?';
var h3 = $('h3 span');
// Retrieve data
(function gather(cp, object) {
if (typeof object === "undefined" || object.has_more) {
$.getJSON(url, {
site: site,
tagged: tag,
page: ++cp,
key: "awn3X8U)9erzSfhBhqSF4A((",
filter: "!BGS1(RNaQD-DYnwoUQeh2eZDaLm__P"
}, function (data) {
h3.html("(" + cp + " pages)")
if (object) {
data.items = data.items.concat(object.items);
}
gather(cp, data);
});
} else {
display(object);
}
})(0)
// Display data
function display(data) {
var data = data.items;
data = data.filter(function (v, i, A) {
return v.tags.length == 1;
});
$.each(data, function (i, v) {
var li = $('<li/>');
var a = $('<a/>').attr('href', this.link).text(this.title);
$('#results').append(li.append(a));
});
var heading = $('<h3/>').html('Total: ' + data.length);
$('#results').prev().replaceWith(heading);
}