Deck of Cards API handles everything imaginable related to working with decks of cards. It handles creating a shuffled set of cards (containing one or more decks), dealing out a card (or cards), and even reshuffling. It's an incredibly feature-filled API, and best of all, it's completely free.