I just wrote a quick UDF (available now on CFLib) that wraps the call to Twitter's user look up system. Like most Twitter APIs, this one is ridiculously simple, but I need this code for another project I'm working on (technically I need it in Flex, but the ColdFusion version helps me understand how I'll write that) so I thought I'd write it up real quick like. Here is getTwitterUser:

<cffunction name="getTwitterUser" output="false" returnType="struct"> <cfargument name="screenname" type="string" required="true"> <cfset var httpResult = "">

&lt;!--- remove the @ if they included it. ---&gt;
&lt;cfif left(arguments.screenname,1) is "@"&gt;
	&lt;cfset arguments.screenname = right(arguments.screenname, len(arguments.screenname)-1)&gt;
&lt;/cfif&gt;

&lt;cfset var theUrl = "http://api.twitter.com/1/users/show.json?screen_name=#arguments.screenname#"&gt;

&lt;cfhttp url="#theUrl#" result="httpResult"&gt;
&lt;cfset var result = deserializeJSON(httpResult.filecontent)&gt;

&lt;cfreturn result&gt;	

</cffunction>

I'd rather that be in script to be honest, but that wouldn't be difficult to rewrite. Usage then is pretty trivial. If you ask for a user that exists, you get a large structure back. If you get one that does not, you get an error key in the struct. Here's example code:

<cfset res = getTwitterUser("cfjedimaster")> <cfif structKeyExists(res, "name") and structKeyExists(res, "profile_image_url")> <cfoutput> <p> <img src="#res.profile_image_url#" align="left"> #res.name# <br clear="left"> </p> </cfoutput> </cfif>

<cfdump var="#getTwitterUser('cfjedimaster221920')#">

And the result...