Cheapest fish and seafood for protein: 11 kinds ranked
The cheapest fish and seafood protein in USDA's 2017–18 national average prices comes from canned mackerel, catfish, tilapia, canned sardines and canned tuna: 30 g of protein from them cost $0.77 to $1.99. The same 30 g cost $2.89 from salmon fillet, $5.76 from shrimp and $1.05 from chicken breast.
Prices: USDA Economic Research Service national average prices for 2017–18, the latest set it has published, in dollars of that time, per edible gram (bones, skin you discard and cooking losses already counted). Protein and calories: USDA FNDDS. Today's shelf prices differ, so compare foods with each other rather than with your receipt.
US national average prices, 2017–18, per edible gram.
All 11 foods, cheapest protein first
| # | Food, as eaten | Cost of 30 g protein | Protein per $1 | Price per lb | One serving | Calories per 30 g protein |
|---|---|---|---|---|---|---|
| 1 | Canned mackerel (canned) | $0.77 | 39 g | $2.69 | 3 oz (85 g): $0.50, 20 g protein | 202 |
| 2 | Catfish (baked, no added fat) | $1.38 | 22 g | $4.02 | 3 oz (85 g): $0.75, 16 g protein | 266 |
| 3 | Tilapia (baked, no added fat) | $1.56 | 19 g | $6.01 | 3 oz (85 g): $1.13, 22 g protein | 167 |
| 4 | Canned sardines (canned in oil) | $1.62 | 19 g | $6.02 | 3 oz (85 g): $1.13, 21 g protein | 253 |
| 5 | Canned tuna (canned, drained) | $1.99 | 15 g | $5.71 | 3 oz (85 g): $1.07, 16 g protein | 134 |
| 6 | Fish sticks | $2.02 | 15 g | $3.36 | 4 sticks (2.8 oz, 80 g): $0.59, 9 g protein | 755 |
| 7 | Canned salmon (canned) | $2.02 | 15 g | $7.52 | 3 oz (85 g): $1.41, 21 g protein | 166 |
| 8 | Tuna steak (fresh, baked or broiled) | $2.70 | 11 g | $12.38 | 3 oz (85 g): $2.32, 26 g protein | 174 |
| 9 | Salmon fillet (cooked) | $2.89 | 10 g | $11.08 | 3 oz (85 g): $2.08, 22 g protein | 324 |
| 10 | Cod (steamed or poached) | $3.13 | 10 g | $9.12 | 3 oz (85 g): $1.71, 16 g protein | 135 |
| 11 | Shrimp (steamed or boiled) | $5.76 | 5 g | $14.97 | 3 oz (85 g): $2.80, 15 g protein | 157 |
Prices are US national averages for 2017–18 in dollars of that time. Cost of 30 g protein = price per 3.5 oz (100 g) as eaten ÷ grams of protein per 3.5 oz (100 g) × 30.
What changes the answer
- Calories that come with the protein. Among the cheapest, canned mackerel, tilapia and canned tuna deliver the same 30 g of protein with 134 to 202 calories.
- Edible weight, not shelf weight. Every price here is per gram of food as you eat it: shrimp is priced by its cooked weight. Foods that lose weight in cooking or carry bones are not made to look cheaper than they are.
- The year. These are 2017–18 prices. Store brands, sales and region move any single price, so a food that is close to another in this table can swap places at your store.
More on the cost of protein
Sources
- Prices: USDA Economic Research Service, Purchase to Plate National Average Prices for NHANES (PP-NAP), 2017/2018 prices, US dollars per 100 edible grams. https://www.ers.usda.gov/data-products/purchase-to-plate/ (dataset accessed 2026-10-12)
- Protein and calories: USDA FoodData Central, FoodData Central survey (FNDDS) 2024-10-31, the entry with the same food code (accessed 2026-10-14)
Foods on this page
- Canned mackerel: ERS food code 26121180 Mackerel, canned, matched directly to store sales data · nutrients FDC ID 2706268
- Canned salmon: ERS food code 26137180 Salmon, canned, matched directly to store sales data · nutrients FDC ID 2706291
- Canned sardines: ERS food code 26139180 Sardines, canned in oil, matched directly to store sales data · nutrients FDC ID 2706293
- Canned tuna: ERS food code 26155110 Tuna, canned, NS as to oil or water pack (Includes tuna, NFS; low sodium), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706311
- Catfish: ERS food code 26107123 Catfish, baked or broiled, no added fat (Includes sauteed; fried with no coating; bullhead), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706236
- Cod: ERS food code 26109160 Cod, steamed or poached, priced from its recipe ingredients · nutrients FDC ID 2706245
- Fish sticks: ERS food code 26100270 Fish stick, patty or nugget from restaurant, home, or other place, matched directly to store sales data · nutrients FDC ID 2706231
- Salmon fillet: ERS food code 26137110 Salmon, cooked, NS as to cooking method (Includes saltwater trout), priced from its recipe ingredients · nutrients FDC ID 2706285
- Shrimp: ERS food code 26319130 Shrimp, steamed or boiled (Includes prawn), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706363
- Tilapia: ERS food code 26158013 Tilapia, baked or broiled, no added fat (Includes sauteed; fried with no coating; mojarra), priced from its recipe ingredients · nutrients FDC ID 2706320
- Tuna steak: ERS food code 26153120 Tuna, fresh, baked or broiled, fat added (Includes sauteed; fried with no coating; ahi; aku; bonito; NS as to fat), priced from its recipe ingredients · nutrients FDC ID 2706310
How we calculate: cost of 30 g protein = ERS price per 3.5 oz (100 g) as eaten ÷ FNDDS protein per 3.5 oz (100 g) × 30. Protein per $1 = protein per 3.5 oz (100 g) ÷ price per 3.5 oz (100 g). Serving weights come from USDA FNDDS or are plain weights (3 oz cooked meat or fish). Protein powder is left out on purpose: ERS gave every protein powder the same price, carried over from an instant breakfast mix, so a cost per gram for it would not be a real measurement. How we verify.