# Bulk update Teachers Pay Teachers product prices

> Change TPT list prices and additional license prices across many listings by one rule, with the full before and after list checked first.

Source: https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server/bulk-update-prices

You decide that every bundle under $10 should go up a dollar, or that additional licenses should be 20% off instead of TPT's default 10%, and then face Product Listings with one Quick Edit form per product.

Cotlet does it in your own Teachers Pay Teachers account with list\_products, get\_product and update\_product, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=teachers-pay-teachers) [All Teachers Pay Teachers tools](https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Teachers Pay Teachers do this on its own?

Teachers Pay Teachers has no API for prices (checked 12 Oct 2026). The Help Center describes price and Additional License Price changes one listing at a time through Quick Edit on Product Listings. TPT also sets a minimum price, shown on the upload page, that no resource can go below. A rule such as "all bundles plus $1" is not something TPT applies for you.

By hand

## How you do it in Teachers Pay Teachers today

1. Click the storefront icon at the top right of TPT and select Product Listings.
2. Find the product and click Quick Edit under its name.
3. Change the price, or the Additional License Price, which TPT sets 10% below the list price by default.
4. Click Update at the bottom of the form. TPT applies the new additional license price right away.
5. The TPT Help Center describes this one listing at a time, so 40 products means 40 Quick Edit forms and a separate note of which ones are done and what each price was before.

With an agent

## How to bulk update Teachers Pay Teachers product prices

Prompt

```
Raise the price of every active bundle under $10 by $1, keep each additional license discount at the same percentage, and show me the full list before you change anything.
```

1. 01  
### Build the list from your rule  
The agent calls list\_products with the type and status you name (bundles, Google resources, one custom category) and then applies the price condition itself, such as "under $10", since the listing filter has no price range.
2. 02  
### Keep the license price in step  
For each match the agent calls get\_product to read the additional license price and works out the discount you set. A 10% discount stays 10% at the new price. A license priced the same as the list price means you chose no discount, and it stays that way.
3. 03  
### Handle the edge cases  
Free resources are skipped unless you ask for them. Prices are rounded to the ending you use, such as .50 or .99, when you say so, and otherwise kept to the exact cent. If TPT rejects a price below its minimum, the agent reports that listing and goes on with the rest.
4. 04  
### Show the whole change first  
You get every listing with its old and new price and license price before anything is saved. After your OK the agent calls update\_product once per listing; for a long list you can switch confirmation off for update\_product during the run.
5. 05  
### Keep a way back  
The report keeps every old price, so "undo last week's price change" restores them with the same calls.

### What you get back

Example data

```
Rule: active bundles under $10.00, plus $1.00
Matched 7 bundles, changed 6
Fractions Bundle: $9.00 to $10.00, additional license $8.10 to $9.00 (still 10% off)
Place Value Bundle: $7.50 to $8.50, additional license $7.50 to $8.50 (you set no discount)
Skipped: Phonics Starter Bundle (free)
Old prices saved for an undo
```

### Other ways to ask

- Set the additional license price on every resource to 20% below its list price.
- Raise every Digital Download in my Morning Work category by 10%, rounded to the nearest $0.50.
- Put back the prices from last week's change.

Before you automate it

## What Teachers Pay Teachers allows, and what to know first

- TPT sets a minimum price, listed on the resource upload page, and no resource can be priced below it.
- The TPT Additional License Price defaults to 10% below the list price; entering the list price itself removes the multiple license discount.
- TPT Seller Guidelines forbid charging more on TPT for a resource offered for free or for less elsewhere.
- TPT refunds a buyer for duplicate material bought within the last year, including an earlier single resource that a later bundle contains, so a deeply discounted bundle can lead to refunds of past single sales.

update\_product asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [TPT Help: Can I change the multiple license price of my products?](https://help.teacherspayteachers.com/hc/en-us/articles/360042885411-Can-I-change-the-multiple-license-price-of-my-products-from-the-default-of-10-off) · [TPT Help: What are multiple licenses?](https://help.teacherspayteachers.com/hc/en-us/articles/360042448512-What-are-multiple-licenses) · [TPT Help: What are TPT's Seller Guidelines?](https://help.teacherspayteachers.com/hc/en-us/articles/360042626591-What-are-TPT-s-Seller-Guidelines) · [TPT Help: What's the best way to post a bundle on TPT?](https://help.teacherspayteachers.com/hc/en-us/articles/360042865171-What-s-the-best-way-to-post-a-bundle-on-TPT)

REST

## Call update\_product from a script

curl

```
curl https://cotlet.dev/api/v1/teachers-pay-teachers/update_product \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"9873310","fields":{"price_cents":1000,"additional_license_price_cents":900}}'
```

Example response

```
{
"product_id": "11204567",
"status": "updated",
"changed": {
"price_cents": {
"from": 600,
"to": 700
}
}
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is teachers-pay-teachers\_update\_product. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server#automations)

Tools

## Teachers Pay Teachers tools this automation uses

__Cotlet Teachers Pay Teachers tools used to bulk update Teachers Pay Teachers product prices__
| Tool | Parameters |
| --------------- | --------------------------------------------- |
| list\_products | status, type, custom\_category, limit, cursor |
| get\_product | product\_id |
| update\_product | product\_id, fields |

[All 14 Teachers Pay Teachers tools with descriptions](https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server#tools)

## More Teachers Pay Teachers automations

- [Answer Teachers Pay Teachers buyer questions with AI](https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server/answer-buyer-questions)
- [Throw a sale in your Teachers Pay Teachers store with AI](https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server/throw-a-sale)
- [Improve Teachers Pay Teachers titles with search keywords](https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server/improve-titles-with-search-keywords)
- [Teachers Pay Teachers API and MCP server: every tool](https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Teachers Pay Teachers.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Teachers Pay Teachers.

[Request access](https://cotlet.dev/app/signup?app=teachers-pay-teachers)
