Today in APIs: Facebook Authorization, API Design and 38 New APIs

Get started with using Facebook to let users login to your app. Learn why API design is hurting the cloud (and how to fix it). Also: an API "launch" without details for developers, Facebook hack event headed for Asia and 38 new APIs.

How to Login Users With Facebook

Ukraine outsourcing company Ciklum has some tips for Facebook authorization in these presentation slides (embedded below):

The Importance of API Design

InfoWorld says most APIs lack good design:

The trouble arises when you look at the design of these APIs. They vary from the well thought out, well tested, and correctly deployed to those that fall into the category of "What were they thinking?" Unfortunately, I see more "What were they thinking?" APIs these days than good ones.

The article provides two tips for improving design of an API:

  • Fine-grain APIs and services trump coarse-grain varieties
  • Error processing and recovery should be designed in

What would you add to that list? Last week we covered three ways to think about API design.

If Developers Can't Get Any Info, is it an API Launch?

Electronic checking company Zipmark "launched" its API, but the site has nowhere for developers to get more information. The company obviously made a big press push, with write-ups like this one in IBTimes:

Zipmark, one of our 2012 Top Tech Companies to Watch in Silicon Alley, has launched a developer program that will allow five partners to electronically process checks by using the Zipmark Biller API. The service is similar to those that are offered by large banks, except Zipmark reduces any risks in surcharges, overdrafts or other hidden fees.

The Zipmark site says the site's core service is "by invitation only," but has no additional information about the API. According to TechCrunch, developers will be able to sign up tomorrow.

API News You Shouldn't Miss

38 New APIs

It's been a big day, as we had 38 new APIs added to our API directory including a mobile payment service, password cracking service, electronic signature service, licensed photography Platform, blog search service, and photo printing e-commerce service. Below is more details on each of these new APIs.

BookleteerBookleteer API: The service allows users to create downloadable PDF files for printing locally and assembled into hand-made books. A feature enables design of StoryCubes, which generate printouts that can be cut out and folded into three-dimensional cubes presenting stories, portfolios, and exhibition components in innovative ways. Commercial print-on-demand services are available.

API methods support retrieval and editing of files created with the service, including file management in PDF and HTML ebook formats. Methods also support management of images used in the publications created with the service.

BuckBuck API: Buck is a mobile payment service. Merchants can use Buck for accepting credit card payments with one click on mobile applications.

The Buck API allows developers to access and integrate the functionality of Buck with applications. Some example API methods include creating checkout pages, processing payments, and accessing payment reports.

CloudCrackerCloudCracker API: CloudCracker is a password cracking service aimed at penetration testers and auditors to check the security of the Protected Wireless Networks. It even provides services to help you crack password hashes or validate if your document Encryption is strong enough. The CloudCracker API allows developers to integrate the functionality of the service into their own applications. Methods include returning dictionary options for an Endpoint, submitting a cracking job, submitting payments for a job and more. The API uses RESTful calls and responses are formatted in JSON.

Confident CAPTCHAConfident CAPTCHA API: The service provides multi-factor Authentication by encrypting one-time authentication codes as image-based CAPTCHA challenges. Users must answer challenge questions by correctly choosing from a series of photos to gain access to the protected Resource. It is intended to create easy-to-use but highly secure protection.

API methods support generation of a visual CAPTCHA block, along with an audio block for alternative access. The API returns HTML to be incorporated into a page that implements the challenge specified by the request.

e-SignLivee-SignLive API: e-SignLive provides a comprehensive set of electronic signature methods that clients can use to secure their online operations and interactions with third parties. Their services can be used to secure and maintain a web Portal, allowing users to sign in anywhere from any web-enabled device without installing software. Log files and watermarks help to secure other digital assets such as digital contracts or documents.

e-SignLive offers a Web Service API via REST that allows for third party Integration of their electronic signature and security capabilities. A variety of file types can be secured using their API, including .DOC and .PDF, which can be accessed and verified using variety of sign-in methods. At a minimum, the API is secured with a username and password, though other forms of authentication are available based on user needs.

EBI CENSOREBI CENSOR API: CENSOR is a program that screens nucleotide and amino acid sequences against a reference collection of sequence repeats. It then “censors” homologous portions with masking symbols (N for nucleotides, X for amino acids) and generates a report classifying all repeats found. The European Bioinformatics Institute makes this service available as a SOAP API.

EBI DaliLiteEBI DaliLite API: DaliLite is a tool for pairwise protein structure comparison. It uses a suite of programs to compute optimal and suboptimal protein structural alignments between two input sets of atomic coordinates, or between one input and a database of known structures. The European Bioinformatics Institute makes this service available as a SOAP API.

EBI NCBI BLASTEBI NCBI BLAST API: NCBI BLAST is a similarity search program for protein and nucleotide sequences. The emphasis is to find regions of similarity that can yield clues about the structure and Function of the given sequence. The European Bioinformatics Institute makes NCBI BLAST available as an API via SOAP or REST protocols.

EBI PSI-BLASTEBI PSI-BLAST API: Position Specific Iterative BLAST (PSI-BLAST) constructs a position-specific scoring matrix (PSSM) profile for a protein sequence using a set of BLAST alignments. The PSSM is then used to search the database in subsequent iterations, allowing the detection of distant evolutionary relationships between protein sequences. The PSI-BLAST API is provided by the European Bioinformatics Institute via SOAP and REST protocols.

EBI WSDbfetchEBI WSDbfetch API: The EBI WSDbfetch API allows users to retrieve entries from various biological databases using entry identifiers or accession numbers. It provides an easy way to retrieve entries from databases at the European Bioinformatics Institute in a consistent manner. One request can return a maximum of 200 entries. This API can be accessed via SOAP or REST protocols.

EBI WU-BLASTEBI WU-BLAST API: WU-BLAST (Washington University Basic Local Alignment Search Tool) Version 2.0 is used to compare a nucleotide or protein sequence with those contained in databases. The goal is to find regions of sequence similarity which will yield clues about the structure and function of the given sequence. Regions of similarity detected by WU-BLAST can be either local, where the region of similarity is based in 1 location, or global, where regions of similarity can be detected across otherwise unrelated genetic code.

The European Bioinformatics Institute provides access to WU-BLAST as an API via SOAP or REST protocols.

EMBOSS MatcherEMBOSS Matcher API: EMBOSS Matcher is a program for performing local pairwise sequence alignments on DNA or protein sequences. It employs the Waterman-Eggert local alignment algorithm to identify local similarities in the two input protein or nucleotide sequences. The European Bioinformatics Institute makes this service available as an API via SOAP or REST protocols.

EMBOSS NeedleEMBOSS Needle API: EMBOSS Needle is a program for performing global pairwise sequence alignments on DNA or protein sequences. Using the Needleman-Wunsch global alignment algorithm, this program takes two protein or nucleotide sequences and returns their optimal global sequence alignment. The European Bioinformatics Institute makes EMBOSS Needle available as an API via SOAP or REST protocols.

EMBOSS StretcherEMBOSS Stretcher API: EMBOSS Stretcher is a program for performing global pairwise sequence alignments on DNA or protein sequences. Using the Myers and Miller global alignment algorithm, EMBOSS Stretcher calculates an optimal global alignment of two protein or nucleotide sequences. The European Bioinformatics Institute makes EMBOSS Stretcher available as an API via SOAP and REST protocols.

EMBOSS WaterEMBOSS Water API: EMBOSS Water is a program for performing local pairwise sequence alignments on DNA or protein sequences. Using the Smith-Waterman local alignment algorithm (modified for speed enhancements), this program calculates the local alignment of two protein or nucleotide sequences. The European Bioinformatics Institute makes EMBOSS Water available as an API via SOAP or REST protocols.

Getty Images ConnectGetty Images Connect API: Getty Images is a major provider of stock and entertainment photography. Getty sells licenses for photo usage, including royalty-free photos (which still have an initial fee). The Getty Images Connect API allows developers to search photos, authenticate Getty Images users, access photos owned by the authenticated user and retrieve download authorizations.

GroupHighGroupHigh API: GroupHigh is a blog outreach service for brands and companies to find relevant blogs and bloggers to reach out and promote their products and services to, as well as access blog content.

The GroupHigh API allows developers to access and integrate the functionality of GroupHigh with other applications. Some example API methods include incorporating blog content into sites, searching blogs, and accessing blog metadata. Public Documentation is not available; interested developers should sign up here: to find out more.

LifePicsLifePics API: The service provides photo finishing and printing, including online storage and sharing of images. Printing services generate standard print sizes, from wallet-size through wall-size posters. Also available are photo greeting cards and gifts such as calendars, mugs, etc. A revenue sharing model pays developers for orders to the service generated by applications.

API methods support account management, including creation of accounts and specification of partner locations, along with image management. Methods enable control of individual images or collections defined as albums, including file upload, retrieval, updating, and deletion. Add-to-cart methods support e-commerce applications of service functions.

mBLAST mPACTmBLAST mPACT API: mPACT is a service that allows users to search for articles, tweets, blogs, and other web content based on keywords.

The mPACT API allows developers to access and integrate the functionality of mPACT with other applications. Some example API methods include searching for articles and blogs based on keywords, searching social media by keywords, and searching for authors by keywords.

OpenHazards GetEarthquakeProbabilityOpenHazards GetEarthquakeProbability API: The service gathers data from multiple sensor networks and public reports to generate forecasts of earthquake and seismic hazards. It does not aim to predict specific events but rather to generate probabilistic forecasts of risk based on event probability and likely damage, should those events occur. Its goal is to aid in preparation for natural catastrophes that can be anticipated.

API methods support submission of a location for which to generate a forecast along with a radius around that point, a timeframe, and a magnitude threshold. The service returns a forecast of the hazard that an earthquake above the stated threshold will occur within the radius around the stated location within the timeframe specified.

OpenPathsOpenPaths API: OpenPaths is an application that allows users to manage their personal location information. Users can track where they have been, visualize their locations, and share their data on the OpenPaths website.

The OpenPaths API allows developers to access and integrate the functionality and data of OpenPaths with other applications and to create new applications. API methods include posting and retrieving user data.

PATLivePATLive API: PATLive provides hosted communications and associated services that support local or toll-free numbers, hosted receptionists, and faxing. PATLive offers clients a 24/7 call center to fulfill the live communication needs of businesses. In addition, their Caller Insight program grants access to caller demographic information such as age, gender, and financial status.

The PATLive API allows developer to integrate call data into their local reporting and CRM services, and also exposes functionality for managing phone numbers, messages, and services programmatically. This REST API can return data as XML, JSON, or RSS, and requires an account with service for access.

PeopleBrowsr KredPeopleBrowsr Kred API: PeopleBrowsr is a social analytics service specializing in the measure of social influence. Kred, created by PeopleBrowsr, measures influence in online communities connected by interest. It measures a user’s relative ability to inspire action from others like retweeting, replies or new follows. The Kred API returns Kred scores for Twitter handles across multiple online communities. It uses RESTful calls and responses are formatted in JSON.

PeopleBrowsr KredentialsPeopleBrowsr Kredentials API: PeopleBrowsr is a social analytics service specializing in the measure of social influence. The Kredentials API returns rich data on any @name, including their most frequently used words and hashtags, top communities, connections and most frequently mentioned people. The API uses RESTful calls and responses are formatted in JSON.

PiCloudPiCloud API: PiCloud allows users to run computationally expensive operations over the cloud. Developers dealing with local performance bottlenecks can upload their projects to PiCloud and take advantage of their thousands of cores of on-demand processing power.

Through the use of PiCloud's RESTful API, developers can connect any development environment to PiCloud directly over HTTP. Their documentation contains request and response examples for connecting to the PiCloud web service using CURL. The API also supports the input of binary data, as well as batched queries. Clients can choose from a variety of plans with rates that are determined by CPU core type and are prorated to the millisecond.

PogoplugPogoplug API: The service gives internet access to the file system on a user's PC through a hardware dongle plugged into a USB port. That access allows retrieval and sharing of locally stored files from anywhere with web access. An iPhone application allows file access via cellphone networks.

API methods support CRUD (create, read, update, delete) control of files on a machine connected to the dongle. To enable that access, methods can list, search, retrieve, create, remove, and copy files.

PulsepointPulsepoint API: The service creates a registry of people trained in cardiopulmonary resuscitation (CPR) who are willing to assist victims of Sudden Cardiac Arrest (SCA) near their locations. Members of the registry create entries indicating their willingness to respond and provide contact information. The service accepts notification from a participating agency of a cardiac emergency and contacts registry members near the location.

API methods support creation and tracking of incidents, including notifying agency, time, location, and type of incident. Methods also support designation of medical status of the victim and call status from the responding agency.

PwintyPwinty API: Pwinty is an online photo buying and printing service. Customers of Pwinty can integrate Pwinty into their website or application to enable their customers to buy and print photos.

The Pwinty API allows developers to access and integrate the functionality of Pwinty with other applications. Some example API methods include retrieving order information and status, adding photos to orders, and deleting photos from orders.

RallyRally API: Rally provides a platform and services for agile application development, focusing on supporting developers through Application Lifecycle Management. Rally works to facilitate agile development by a platform that helps teams achieve visibility and collaboration over short delivery cycles.

Rally provides a web service API which enables developers to integrate their internal systems with the Rally platform. Their API is available through both REST and SOAP, and can return data as XML, JSON, or HTML. The API is only available with Rally's paid monthly subscription plans, though a community edition offers basic features of their platform without API access.

ScalariumScalarium API: Scalarium is a cloud hosting service that aims to help fulfill their clients' hosting needs through server management and associated services. Scalarium's servers are hosting using Amazon's EC2 cloud platform. Scalarium offers auto- Scaling, server monitoring, logging and reporting, and technical support. A range of pricing options are available, as users pay per server per hour based on server type.

The Scalarium API is a RESTful web service that exposes the functionality for managing and interacting with their servers. Users can list and create clouds, create and run instances, list and deploy applications, and gather status and logs at a per instance level.

SheerIDSheerID API: SheerID is a service for verifying whether an individual is a member of an institution or organization. The most common case is for student verification and the ability to verify students during e-commerce purchase. The service is meant to replace manual processes like faxing in student ID to prove association, and automate verification during online sales. The API provides developers with programmatic access to the service. It uses RESTful calls and responses are formatted in JSON.

SocialFlowSocialFlow API: SocialFlow is a social media publishing service that aims to help customers optimize their social media posts.

The SocialFlow API allows developers to access and integrate the functionality of SocialFlow with other applications and create new applications. Public documentation is not available; interested developers should email for more information.

Synety CloudCallSynety CloudCall API: CloudCall is a cloud-based, on demand communication service developed to provide small and medium sized organizations with a phone based communications system without on-site equipment purchase or installation. Beyond basic phone systems, CloudCall's services include support for call centers, call recording, hosted VoIP, call reporting and analysis, and call queuing.

The CloudCall API enables organizations to programmatically integrate their internal systems with CloudCall's services. The API exposes methods for configuring endpoints for calling applications and programs, retrieving call information about individual calls, and making calls. This API uses REST and JSON, and requires an account with service for access.

Tax Data Service Tax Data Service API: The service provides sales and use tax rates by location within the United States and Canada. A list of taxing jurisdictions with authority in a location may also be generated.

API methods accept submission of a five-digit U.S. ZIP code or an abbreviation specifying a Canadian province, then return current sales and use tax rates. If the submitted ZIP code or province matches multiple city/county combinations, multiple sets of data cover each of the taxing jurisdictions.

TextlocalTextlocal API: Textlocal offers services for mobile marketing campaigns, allowing clients to execute SMS or MMS campaigns using individual or bulk messages. Organizations can upload their contact lists, or use a short code to allow people to join the campaign via text. Textlocal offers reporting and statistics services, and allows messages to be send instantly or scheduled for a later date and time.

The Textlocal API can be used to connect email, applications, or internal systems to Textlocal services. The API exposes methods for sending and receiving SMS and MMS messages, checking credit balances, and adding numbers to campaign lists. The API requires purchased credits for sending and receiving messages, and the rates are determined by the number of credits purchased. This API operates over HTTP and uses the JSON data format.

TrestleTrestle API: Trestle is a backend service provider that enables mobile application developers to create cloud services that help power their mobile applications.

The Trestle API allows developers to access and integrate the functionality of Trestle with other applications. Some example API methods include managing user accounts, sending emails, managing media, and retrieving statistics. API: is a social identity creation application that allows customers to create psycho-social identities for their users. This allows for unique user experiences within applications and sites.

The API allows developers to access and integrate the functionality with other applications. Some example API methods include retrieving information on users from their Facebook profiles, compare user profiles, and accessing user information.

Wire2AirWire2Air API: Wire2Air provides a two-way SMS Gateway API, allowing users to programmatically send and receive SMS messages via HTTP. In addition to their Gateway web service, Wire2Air has also provides an API for bulk SMS messaging. Wire2Air supports long SMS, SMS mail merges, and Flash SMS, as well as delivery reports. Their SMS services support industry standard SMS advertising techniques such as text-to-win and text surveys.

This HTTP API uses CSV for bulk texts, and returns data as plain text. Wire2Air provides code to integrate their API with PHP, ASP, and C#.