2013 in Review: Search in multiple apps and services with Launch Center Pro

Last year I wrote a nifty action using Pythonista to search queries in a mixed myriad of apps and web services, it included 1Password, StackOverflow, Terminology, Fantastical, DuckDuckGo and plenty others. The script would read tags prefixed with an exclamation mark as !bangs, like in DuckDuckGo, and direct you to the its related service, for example, !op would search the query in 1Password. But with Launch Center Pro introduction of lists and the latest experiments by Viticci on share sheets, I realized that I could transform this Python script into a straightforward LCP action.

The main issue is encoding urls properly to meet both apps and web services, as you may have learned by now, wrapping content with double curly brackets will url encode it, however, the [list] parameter from Launch Center Pro will skip auto-encoding when wrapped with an extra set of brackets, which is an odd behavior examined by Eric Pramono after Viticci's set of actions for Fantastical 2 in the Launch Center Pro 2.1 release.

When it comes to fix encoding, you're better off on trial and error rather than trying to understand how the whole thing flows. After some tweaking and testing, I can assure you that all the items work1, I had to remove a few such as the App Store2 and the IMDB app3.

Multi-search:

launchpro://?url=[list:Pick your service|
Terminology=terminology://x-callback-url/lookup?text=|
1Password=onepassword://search/|
StackOverflow=http://stackoverflow.com/search?q=|
DuckDuckGo=https://duckduckgo.com/?q=|
Fantastical=fantastical2://search?query=|
Due=due://x-callback-url/search?query=|
Wikipanion=wikipanion:///|
Hacker News=https://www.hnsearch.com/search#request/all&q=|
AppShopper=http://appshopper.com/search/?search=|
WolframAlpha=wolframalpha:///?i=|
Reddit=http://www.reddit.com/r/search/search?q=|
AlternativeTo=http://alternativeto.net/SearchResult.aspx?search=|
Amazon=http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=|
MacUpdate=https://www.macupdate.com/find/mac/
]{{[prompt:Set your query]}}

I decided to show the action with line breaks so you can follow through the array of supported services, if you just copy and paste it in Launch Center Pro all you'll get is an empty list to pick items from. You can, however, exclude items and then remove the line breaks (Someone said TextTool?), just be careful to include a vertical bar after every item but the last one.

You can always include more services, TaskPaper, for example, would be TaskPaper=taskpaper://search/|, meanwhile Medium would be something like Medium=https://medium.com/search?q=|, henceforth, expanding this list to fit your tastes is up to you and if you need any help making a search query to work, say hello on App.net or Twitter and I'll share the frustration with you.

Happy searching.


  1. As long as you have the mentioned apps or an internet connection for the web services. 

  2. If you include the previous implementation of the App Store, it will still open the app and set the query, but you'll be prompted with a Cannot Connect to App Store, you can still tap to pull the search, but that's not how I want it to work. Apparently, Launch Center Pro also removed support for this shortcut under its App Store actions, so I restored my peace of mind. 

  3. I actually trusted the rumor that IMDB's url scheme broke after their iOS 7 app update and didn't bother testing. I could have still linked to the website, but I simply prefer apps over the web when they're available.