Oh, good point. I don't know how big a hit that would be, but it will be >0 and if Evernet does any kind of rate limiting it would very much increase the risk of hitting it.  It's also fairly likely that a query filtering on two criteria is slower than one filtering on only one.  I see two possible solutions:
1) Do you know if a single query can contain multiple match values?  If so, then that's worth trying.
2) Otherwise, I could at least redo this so that if the area argument is omitted, this runs a single query without filtering by area, rather than one query for each area.  That way at least the performance issues would only apply if we are actually using the filter by area function.