TCC API
Team Cuban Card — unfunded retail pharmacy network. Returns pricing, dispensing fees, and optionally nearby TCC pharmacies when a patient address is provided.
Overview
TCC (Team Cuban Card) is an unfunded retail pharmacy network. Patients fill their prescriptions at participating local pharmacies at Cost Plus Drugs prices. Unlike CPD, there is no mail-order fulfillment — the patient picks up at a pharmacy.
TCC channel data lives in the tcc_channel field on each PriceListEntry. When an address is provided during a search, the tcc_channel.pharmacies array is populated with nearby pharmacies sorted by distance. If no address is provided, pharmacies is omitted.
GET /pricelist/tcc
Returns the full TCC price list. Only tcc_channel is populated on each entry. The pharmacies array is omitted — use /pricelist/tcc/search with an address to include pharmacy locations.
Supports the exclude_fields and treatment_category parameters. See Exclude Fields and Treatment Category Filter.
curl -s https://api.costplusdrugs.com/pricelist/tcc
GET /pricelist/tcc/search
Search TCC prices by NDC, GPI, or term. Returns only entries with a tcc_channel. Accepts the same query parameters as /pricelist/tcc, including address for pharmacy geo-lookup.
curl -sG https://api.costplusdrugs.com/pricelist/tcc/search \ -d ndc=67877-0511-10 \ --data-urlencode "address=233 S Wacker Dr, Chicago, IL 60606"
Schema: TCC Channel
The tcc_channel object returned on each PriceListEntry. All monetary values are in USD. pharmacies is only present when an address is supplied to search.
| Field | Type | Description |
|---|---|---|
| price_per_unit | string | USD per unit inclusive of CPD markup, formatted to 5 decimal places (e.g., "0.06667"). |
| pharmacy_dispensing_fee | number | Standard TCC dispensing fee (USD). Pharmacy-specific fees, when present, are in pharmacies[].pharmacy_dispensing_fee. |
| currency | "USD" | Always "USD". |
| admin_fee | number | Admin fee (USD). Included in sample_pack_price_w_dispensing. Not present on the CPDAPN channel. |
| sample_pack_price | number | price_per_unit × pack_size × ndc_count |
| sample_pack_price_w_dispensing | number | sample_pack_price + pharmacy_dispensing_fee + admin_fee |
| pharmacies | Pharmacy[] | omitted | Nearby TCC network pharmacies. Only present when address is provided. The nearest 20 within the search radius, sorted by ascending distance. Pharmacies outside the TCC network, or that exclude this specific TCC product, are filtered out before the 20 are selected. |
Schema: Pharmacy
One entry per participating pharmacy within the search radius, nested under tcc_channel.pharmacies (and cpdapn_channel.pharmacies on CPDAPN searches). /pharmacies/tcc and /pharmacies/cpdapn return the same fields except the drug-specific pharmacy_dispensing_fee and sample_pack_price_w_dispensing, and include distance only when an address is given.
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Pharmacy name (e.g., Osco Pharmacy, Printer's Row Pharmacy). |
| npi | string | Yes | National Provider Identifier. |
| chain_code | string | null | No | Numeric chain code (e.g., "156") if the pharmacy is part of a chain; null for independents. |
| address | string | Yes | Full pharmacy address. |
| distance | string | Yes | Approximate miles from the search address, formatted to 2 decimal places (e.g., "0.60"). |
| pharmacy_dispensing_fee | number | Yes | Pharmacy-specific dispensing fee. For most pharmacies this equals the channel's pharmacy_dispensing_fee; some chains differ (e.g., Walgreens on the CPDAPN network). |
| sample_pack_price_w_dispensing | number | Yes | Total cost at this specific pharmacy using its own dispensing fee. Always use this field for patient-facing price display. |
| address_obj | object | Yes | Structured address. Fields: line, line2, city, state, postal_code. |
| chain | string | Yes | Chain name identifier (e.g., "Albertsons", "Kroger", "Independent"; "WAG" for Walgreens, CPDAPN only). |
| phone_number | string | null | No | Pharmacy phone number, when available. |
| effective_date | string | Yes | Network effective date for this pharmacy location. |
Example: Full TCC Response
Sample entry as returned from /pricelist/tcc/search?ndc=67877-0511-10 (Atorvastatin 10mg; no address provided, so pharmacies is omitted). equivalent_ndcs is shortened here.
{
"external_sku": "d0b9ba0ae3ab9143200cfbce6ecb7a6a",
"medication_name": "Atorvastatin",
"brand_generic": "Generic",
"form": "Tablet",
"strength": "10mg",
"treatment_categories": ["Heart Health", "High Cholesterol"],
"brand_name": "Lipitor",
"pack_size": 1000,
"quantity": 1,
"splittable": true,
"unit": "ea",
"equivalent_ndcs": ["67877-0511-10", "00904-6290-61", "68084-0097-01"],
"rxnorm_id": "617312",
"special_handling": null,
"sample_pack_size": 30,
"sample_volume": "30 count",
"tcc_channel": {
"price_per_unit": "0.01090",
"pharmacy_dispensing_fee": 12,
"currency": "USD",
"admin_fee": 1,
"sample_pack_price": 0.33,
"sample_pack_price_w_dispensing": 13.33
}
}
Example: With Nearby Pharmacies
Same drug when an address is provided to /pricelist/tcc/search (the request shown above). The pharmacies array is now populated and sorted by distance; the first 2 of 20 are shown.
"tcc_channel": { "price_per_unit": "0.01090", "pharmacy_dispensing_fee": 12, "currency": "USD", "admin_fee": 1, "sample_pack_price": 0.33, "sample_pack_price_w_dispensing": 13.33, "pharmacies": [ { "name": "Printer's Row Pharmacy", "address": "701 South Clark Street, Chicago, IL, 60605", "address_obj": { "line": "701 South Clark Street", "line2": "", "city": "Chicago", "state": "IL", "postal_code": "60605" }, "distance": "0.45", "pharmacy_dispensing_fee": 12, "chain": "Independent", "chain_code": null, "phone_number": "773-200-2616", "npi": "1992551188", "effective_date": "2024-12-02 00:00:00", "sample_pack_price_w_dispensing": 13.33 }, { "name": "Osco Pharmacy", "address": "370 N DESPLAINES ST, Chicago, IL, 60661", "address_obj": { "line": "370 N DESPLAINES ST", "line2": "", "city": "Chicago", "state": "IL", "postal_code": "60661" }, "distance": "0.84", "pharmacy_dispensing_fee": 12, "chain": "Albertsons", "chain_code": "156", "phone_number": "(312) 243-2714", "npi": "1669636601", "effective_date": "2024-03-04 00:00:00", "sample_pack_price_w_dispensing": 13.33 } ] }
pharmacies[].sample_pack_price_w_dispensing — not tcc_channel.sample_pack_price_w_dispensing — for pharmacy-specific pricing displayed to a patient. A pharmacy's dispensing fee can differ from the standard TCC rate.
Pricing Formulas
Standard TCC Total
patient_total = (sample_pack_size × price_per_unit)
+ pharmacy_dispensing_fee
+ admin_fee
Chain-Specific Total
When displaying pricing at a specific pharmacy, substitute that pharmacy's fee:
patient_total_at_chain = (sample_pack_size × price_per_unit)
+ pharmacies[i].pharmacy_dispensing_fee
+ admin_fee
# Or use the pre-computed field directly:
patient_total_at_chain = pharmacies[i].sample_pack_price_w_dispensing