The British were preventing American trade in Europe, because they were trading with both the English and French, while they were fighting the Napoleonic Wars. The United States was becoming more and more powerful and to keep the economy growing they needed the trade industry with Europe to bring new wealth to the country. Also, this was a crucial time for trade because the Americans could make huge profits by selling wartime goods. This appears to be a reason and not an excuse but, the U.S. said they would trade with whoever removed the impediments to trade. The French said they would but never intended to and the British actually complied, so if the Americans have a reason for going to war it would be against the French. The only problem was that the French didn't have anything that the U.S. wanted.
Another cause of the war was that America wanted Spanish-owned Florida, and since Spain was an ally of Britain, declaring war on Britain would be declaring war on Spain as well.
I think this was an excuse for going to war because it was an ulterior motive then protecting their industry or economy. They were not fighting because of the British; they were fighting for land that belonged to Spain. The U.S. had always wanted Florida and declaring war on the English was a convenient way of justifying taking it.
The British stopping and searching American ships and pressing American sailors into the British navy would be a reason for declaring war. This is not as strong a reason because most of the sailors were actually deserters from the British navy, although some were actually Americans. Also, the British agreed to stop the practice before the war even started, which is why this was also just an excuse.