Beat eggs, flour, baking powder, salt, and pepper together in a large bowl; stir in potatoes and onion.
Heat oil in a large skillet over medium heat. Drop heaping tablespoonfuls of potato mixture into hot oil in batches. Press to flatten. Cook until browned and crisp, about 3 minutes on each side. Transfer to a paper towel-lined plate to drain. Repeat with remaining potato mixture.