Live

Teachers Pay Teachers logo

Teachers Pay Teachers API and MCP server

teacherspayteachers.com

Teachers Pay Teachers has no public API for sellers (checked 11 Oct 2026). Cotlet is a hosted MCP server and REST API for Teachers Pay Teachers with 14 endpoints (7 read, 7 write): your AI agent signs in as you and does the work.

Endpoints
14 7 read, 7 write
Updated
How Cotlet connects your agent to Teachers Pay Teachers
  1. Your agent

    Claude Code, Codex, Cursor or a script

  2. Cotlet

    MCP server and REST API · 14 endpoints

    cotlet.dev/mcp/v1

  3. Teachers Pay Teachers logo

    Teachers Pay Teachers

    Signed in as you on teacherspayteachers.com

You sign in once. We never store your password.

Official API

Does Teachers Pay Teachers have an official API?

Teachers Pay Teachers has no public API for sellers (checked 11 Oct 2026). Listings, prices, sales, Q&A and promotions are managed only in the seller pages of the website.

What Teachers Pay Teachers's own tools do compared with Cotlet
Task Teachers Pay Teachers official Cotlet
List your products and their prices No Yes
Create a product listing No Yes
Change price or additional license price No Yes
Read earnings and units sold No Yes
Read sales details line by line No Yes
Answer buyer questions No Yes
Throw a sale No Yes
Send a Note to Followers No Yes

Sources: TPT Help: How do I add a product to my TPT store? · TPT Help: Product Insights Report vs Seller Dashboard · TPT Help: How do I respond to Buyer questions? · TPT Help: How do I throw a sale? · TPT Help: What is the Search Analytics feature? · TPT Help: Exclusive Seller FAQs for New Sellers and Basic Sellers

Common use cases

What can an AI agent do in Teachers Pay Teachers?

Cotlet is best for Teachers Pay Teachers sellers who want an AI agent to answer buyer questions, schedule sales, update prices and report sales without running or fixing a server.

  • Answer buyer questions Runs: Daily

    Draft answers to every unanswered question in my TPT Q&A from what each listing really contains, flag anything I have to decide myself, and post nothing until I approve. Your agent calls list_buyer_questions, get_product and answer_buyer_question.

  • Weekly store sales report Runs: Weekly

    Every Monday, tell me earnings, units sold and my top 5 products for last week, first-time versus repeat buyers. Your agent calls get_store_stats, list_products and get_product_stats.

  • Throw a store sale Runs: Weekly

    Put every active resource in my Fractions category on 20% off from Friday to Sunday and draft a Note to Followers that announces it on Friday. Your agent calls list_products, schedule_sale and send_note_to_followers.

  • Bulk update product prices

    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. Your agent calls list_products, get_product and update_product.

  • Improve titles with search keywords

    Look at my TPT Search Analytics for the last quarter, find listings whose titles miss the keywords buyers use to reach them, and suggest new titles before changing anything. Your agent calls get_search_keywords, list_products, get_product and update_product.

  • Upload a new listing from a file

    Upload fall-centers.zip as a new $6 listing for grades 1 and 2, inactive for now. Your agent calls create_product.

Endpoints

What is the Teachers Pay Teachers API?

Cotlet's Teachers Pay Teachers API exposes 14 endpoints for your own Teachers Pay Teachers account: list products, get product, get store stats, get product stats, list sales, get search keywords, list buyer questions, create product, update product, set product status, upload revised file, answer buyer question, schedule sale and send Note to Followers. The list_products endpoint returns your product listings with title, type, price, status and custom category. Each endpoint takes simple JSON inputs like product_id, from or to and works both as an MCP tool for agents and as a REST call for scripts.

All endpoints · 14 total

missing one? request an endpoint

  • POST

    list_products

    read

    Lists your listings with title, type, price, status and custom category. Filter by status, type or custom category to find a group of products. Pages hold up to 100 products; pass next_cursor back as cursor for the next page.

    POST /api/v1/teachers-pay-teachers/list_products

    Input

    Input: list_products
    Parameter Type Description
    status enum active, inactive or all. Default: all.
    type enum digital_download, bundle, video, google_resource or all. Default: all.
    custom_category string Only products in this store custom category.
    limit integer 1 to 100. Default: 50.
    cursor string Next page cursor from the previous call.

    Example response

    {
      "products": [
        {
          "product_id": "11204567",
          "title": "Fraction Task Cards, Grades 3-4",
          "type": "digital_download",
          "price_cents": 600,
          "status": "active",
          "custom_category": "Fractions"
        },
        {
          "product_id": "9873310",
          "title": "Fractions Bundle",
          "type": "bundle",
          "price_cents": 900,
          "status": "active",
          "custom_category": "Fractions"
        }
      ],
      "next_cursor": null
    }
  • POST

    get_product

    read

    Returns one listing in full: description, price, additional license price, grades, subjects, tags, formats and files. Use it before answering a buyer question or rewriting a title, so your agent works from the real listing.

    POST /api/v1/teachers-pay-teachers/get_product

    Input

    Input: get_product
    Parameter Type Description
    product_id required string Product ID from list_products.

    Example response

    {
      "product_id": "11204567",
      "title": "Fraction Task Cards, Grades 3-4",
      "description": "20 printable task cards on comparing and adding fractions, with answer keys.",
      "price_cents": 600,
      "additional_license_price_cents": 300,
      "grades": [
        "3rd",
        "4th"
      ],
      "subjects": [
        "Fractions"
      ],
      "tags": [
        "Task Cards"
      ],
      "formats": [
        "PDF"
      ],
      "status": "active"
    }
  • POST

    get_store_stats

    read

    Returns the Seller Dashboard totals for a period: earnings, units sold, carts, unique buyers, views and conversions. Set buyer_type to compare first-time and repeat buyers, or product_ids to look at part of the store. Earnings are in US cents.

    POST /api/v1/teachers-pay-teachers/get_store_stats

    Input

    Input: get_store_stats
    Parameter Type Description
    from required date First day of the period.
    to required date Last day of the period.
    buyer_type enum all, first_time or repeat. Default: all.
    product_ids string[] Only these products. Default: whole store.

    Example response

    {
      "from": "2026-10-05",
      "to": "2026-10-11",
      "buyer_type": "all",
      "earnings_cents": 41235,
      "units_sold": 74,
      "carts": 91,
      "unique_buyers": 58,
      "views": 3120,
      "conversion": 0.024
    }
  • POST

    get_product_stats

    read

    Returns the numbers of one product for a period: earnings, units sold, views, conversion, Wish Listed and Saved for Later. Call it for each product from list_products to rank them.

    POST /api/v1/teachers-pay-teachers/get_product_stats

    Input

    Input: get_product_stats
    Parameter Type Description
    product_id required string Product ID from list_products.
    from required date First day of the period.
    to required date Last day of the period.

    Example response

    {
      "product_id": "11204567",
      "from": "2026-10-05",
      "to": "2026-10-11",
      "earnings_cents": 7200,
      "units_sold": 12,
      "views": 410,
      "conversion": 0.029,
      "wish_listed": 5,
      "saved_for_later": 9
    }
  • POST

    list_sales

    read

    Returns Sales Details from your Sales Reports, one line per item sold, with earnings and sales tax. Filter by product to see the sales of one listing. Pass next_cursor back as cursor for the next page.

    POST /api/v1/teachers-pay-teachers/list_sales

    Input

    Input: list_sales
    Parameter Type Description
    from required date First day of the period.
    to required date Last day of the period.
    product_id string Only sales of this product.
    cursor string Next page cursor from the previous call.

    Example response

    {
      "sales": [
        {
          "date": "2026-10-09",
          "product_id": "11204567",
          "title": "Fraction Task Cards, Grades 3-4",
          "earnings_cents": 510,
          "sales_tax_cents": 0
        },
        {
          "date": "2026-10-09",
          "product_id": "9873310",
          "title": "Fractions Bundle",
          "earnings_cents": 765,
          "sales_tax_cents": 0
        }
      ],
      "next_cursor": null
    }
  • POST

    get_search_keywords

    read

    Returns the TPT search keywords that led buyers to your products, with visits, conversions and earnings. Search Analytics starts on 1 Jan 2025. Pass product_id to see the keywords of one listing.

    POST /api/v1/teachers-pay-teachers/get_search_keywords

    Input

    Input: get_search_keywords
    Parameter Type Description
    from required date First day of the period, 1 Jan 2025 or later.
    to required date Last day of the period.
    product_id string One product only. Default: whole store.

    Example response

    {
      "keywords": [
        {
          "keyword": "fraction task cards",
          "visits": 214,
          "conversions": 9,
          "earnings_cents": 5400
        },
        {
          "keyword": "fractions 4th grade",
          "visits": 167,
          "conversions": 6,
          "earnings_cents": 3600
        }
      ]
    }
  • POST

    list_buyer_questions

    read

    Lists questions from the Q&A section of your store, newest first, each with its product and any answer you already gave. Set unanswered_only to see what needs a reply. Pass question_id to answer_buyer_question.

    POST /api/v1/teachers-pay-teachers/list_buyer_questions

    Input

    Input: list_buyer_questions
    Parameter Type Description
    unanswered_only boolean Skip questions you already answered. Default: false.
    limit integer 1 to 100. Default: 50.

    Example response

    {
      "questions": [
        {
          "question_id": "q_5821",
          "product_id": "11204567",
          "question": "Does this include answer keys?",
          "asked_at": "2026-10-10T14:20:00Z",
          "answer": null
        }
      ]
    }
  • POST

    create_product

    write

    Creates a Digital Download listing from the URL of a PDF or ZIP. The listing is inactive unless active is true, and an active listing is live for buyers right away. Price is in US cents. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/teachers-pay-teachers/create_product

    Input

    Input: create_product
    Parameter Type Description
    title required string Product title.
    description required string Product description.
    file_url required string URL of the PDF or ZIP buyers download.
    price_cents required integer Price in US cents, e.g. 600 for $6. 0 for a free resource.
    grades required string[] TPT grade levels, e.g. "1st", "2nd".
    subjects required string[] TPT subjects, e.g. "Fractions".
    tags string[] Resource type tags, e.g. "Centers".
    preview_url string URL of a PDF preview.
    active boolean Make Listing Active now. Default: false.

    Example response

    {
      "product_id": "11310482",
      "title": "Fall Math Centers, Grades 1-2",
      "status": "inactive",
      "price_cents": 600,
      "grades": [
        "1st",
        "2nd"
      ],
      "subjects": [
        "Math"
      ]
    }
  • POST

    update_product

    write

    Changes the fields you pass and leaves the rest. Price changes show to buyers right away on an active listing. Price is in US cents. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/teachers-pay-teachers/update_product

    Input

    Input: update_product
    Parameter Type Description
    product_id required string Product ID from list_products.
    fields required object Any of title, description, price_cents, additional_license_price_cents, grades, subjects, tags.

    Example response

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

    set_product_status

    write

    Makes a listing active (for sale) or inactive (hidden). Past buyers keep their downloads. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/teachers-pay-teachers/set_product_status

    Input

    Input: set_product_status
    Parameter Type Description
    product_id required string Product ID from list_products.
    active required boolean true to sell it, false to hide it.

    Example response

    {
      "product_id": "11310482",
      "active": true,
      "status": "active"
    }
  • POST

    upload_revised_file

    write

    Replaces the file buyers download. With notify_buyers set, past buyers are notified on their My Purchases page, and change_note tells them what changed. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/teachers-pay-teachers/upload_revised_file

    Input

    Input: upload_revised_file
    Parameter Type Description
    product_id required string Product ID from list_products.
    file_url required string URL of the new PDF or ZIP.
    notify_buyers boolean Notify Buyers on their My Purchases page. Default: false.
    change_note string What changed, shown to buyers when notified.

    Example response

    {
      "product_id": "11204567",
      "status": "file_replaced",
      "buyers_notified": true
    }
  • POST

    answer_buyer_question

    write

    Posts an answer to one buyer question. The answer is public and appears under your store name. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/teachers-pay-teachers/answer_buyer_question

    Input

    Input: answer_buyer_question
    Parameter Type Description
    question_id required string Question ID from list_buyer_questions.
    answer required string Answer text, shown publicly under your store name.

    Example response

    {
      "question_id": "q_5821",
      "status": "published"
    }
  • POST

    schedule_sale

    write

    Schedules a sale of 5, 10, 15 or 20 percent off between a start and an end date. Leave product_ids empty to put the whole store on sale. Buyers see the lower prices during the sale. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/teachers-pay-teachers/schedule_sale

    Input

    Input: schedule_sale
    Parameter Type Description
    discount required enum 5, 10, 15 or 20 (percent off).
    start_date required date First day of the sale.
    end_date required date Last day of the sale.
    product_ids string[] Products on sale. Empty: whole store.

    Example response

    {
      "sale_id": "sale_48213",
      "status": "scheduled",
      "discount": 20,
      "start_date": "2026-10-16",
      "end_date": "2026-10-18",
      "products": 3
    }
  • POST

    send_note_to_followers

    write

    Sends a Note to Followers about new products or promotions, now or on the date you set. Images go in the body by URL. The note reaches everyone who follows your store. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/teachers-pay-teachers/send_note_to_followers

    Input

    Input: send_note_to_followers
    Parameter Type Description
    body required string Note text. Images by URL.
    send_on date Send date. Default: now.

    Example response

    {
      "note_id": "note_3307",
      "status": "sent",
      "sent_on": "2026-10-12"
    }

Setup

How do I connect Teachers Pay Teachers to Claude Code, Codex or Cursor?

Connecting Teachers Pay Teachers takes three steps: request access, sign in to Teachers Pay Teachers once, then add one MCP server or call the REST API with the same key.

Connect Teachers Pay Teachers over MCP

  1. 1

    Create an account

    Sign up and add Teachers Pay Teachers in the console. Your API key is there too.

  2. 2

    Sign in to Teachers Pay Teachers once

    Open the connect page from the console and sign in to Teachers Pay Teachers the way you always do. We keep the session, never your password, and you can revoke it anytime.

  3. 3

    Add Cotlet to your agent

    Claude Code
    claude mcp add --transport http cotlet \
      https://cotlet.dev/mcp/v1 \
      --header "Authorization: Bearer $COTLET_API_KEY"
    Cursor
    {
      "mcpServers": {
        "cotlet": {
          "url": "https://cotlet.dev/mcp/v1",
          "headers": {
            "Authorization": "Bearer ${COTLET_API_KEY}"
          }
        }
      }
    }
    Codex
    # ~/.codex/config.toml
    [mcp_servers.cotlet]
    url = "https://cotlet.dev/mcp/v1"
    bearer_token_env_var = "COTLET_API_KEY"

    Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.

  4. 4

    Ask your agent

    Prompt

    Draft answers to every unanswered question in my TPT Q&A from what each listing really contains, flag anything I have to decide myself, and post nothing until I approve.

    Ask in plain words. Your agent finds the Teachers Pay Teachers tools on the server and calls them for you; anything that reaches other people waits for your OK unless you switch that off for a tool.

Call Teachers Pay Teachers over REST

  1. 1

    Export your API key

    Shell

    export COTLET_API_KEY="cotlet_..."

    Your scripts use the same API key as your agent. Keep it in an environment variable, never in your code.

  2. 2

    Call a tool

    curl

    curl https://cotlet.dev/api/v1/teachers-pay-teachers/schedule_sale \
      -H "Authorization: Bearer $COTLET_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"discount":"20","start_date":"2026-10-16","end_date":"2026-10-18","product_ids":["11204567","11204582","9873310"]}'

    Every tool is a POST endpoint at /api/v1/teachers-pay-teachers/{tool}. Send its parameters as JSON, exactly as listed in the endpoints above.

  3. 3

    Read the result

    Example response · schedule_sale

    {
      "sale_id": "sale_48213",
      "status": "scheduled",
      "discount": 20,
      "start_date": "2026-10-16",
      "end_date": "2026-10-18",
      "products": 3
    }

    You get plain JSON back, ready for your script. A failed call costs nothing.

Why Cotlet

Why use Cotlet for Teachers Pay Teachers? Hosted, safe and kept working.

  • Built for agents

    • One MCP server for every app you connect.
    • The same tools as a REST API for scripts and cron jobs.
    • Works with Claude Code, Codex and Cursor.
  • Your login stays yours

    • You sign in to Teachers Pay Teachers yourself. We keep only the session, encrypted with AES-256.
    • The model never sees a login.
    • No stored passwords, no CAPTCHA solving, no MFA bypass.
  • You stay in control

    • Pick read only, or read and write.
    • Anything that reaches other people waits for your OK, unless you switch it off per tool.
    • Revoke access in one click.
  • Kept working for you

    • We test every integration daily.
    • When Teachers Pay Teachers changes, the tool pauses until we fix it.
    • Failed calls cost nothing.

Alternatives

Is there a Teachers Pay Teachers MCP server on GitHub?

Yes. A community MCP server exists on GitHub, maintained by one person. It drives the TPT seller form in a local Chrome window to upload listings, and you install and fix it yourself. It does not read sales or answer buyers. Cotlet hosts a server for the whole seller side and our team keeps it working.

Cotlet compared with a GitHub MCP server
GitHub MCP server Cotlet
Setup Install Node.js and Chrome, keep a local folder of listing JSON files Request access, sign in to TPT once, add one MCP server or API key
What it does Uploads new listings as drafts or active Listings, prices, sales reports, Q&A, sales and Notes to Followers
When TPT changes Selectors break until you or the maintainer fix them Our team tests it daily and fixes it for you; failed calls are free
Your TPT session In a local Chrome window on your computer Encrypted in an EU vault, limited to the actions you allow, revoked in one click
When the session expires Sign in again in its Chrome window We keep it alive; if TPT logs you out, your agent gets a link to sign in again
Where it runs Your computer, one MCP client and one browser at a time Hosted: Claude Code, Codex, Cursor, n8n and scripts, also on a schedule
Price Free, paid for with your time Free 7-day trial with 5,000 credits, then credits per call

Which one fits you

Pick Cotlet if

  • you are not a developer, or you do not want to maintain a server
  • you need it to keep working when Teachers Pay Teachers changes, without checking it yourself
  • your agent or a script should run it on a schedule, also while your computer is off

Pick an open-source server if

  • you are comfortable installing, updating and fixing it yourself
  • you want the session to stay on your own computer
  • you only need it now and then, from one MCP client

For AI agents

Cotlet for Teachers Pay Teachers in plain text The facts on this page in one block: status, endpoints, access, pricing, contact.

Endpoint health

verified 2h ago

  • list_products passing
  • get_product passing
  • get_store_stats passing
  • get_product_stats passing
  • list_sales passing

+ 9 more endpoints

14/14 passing latest check self-healing

teachers-pay-teachers.txt

Teachers Pay Teachers has no public API for sellers (checked 11 Oct 2026). Listings, prices, sales, Q&A and promotions are managed only in the seller pages of the website.
Cotlet provides a hosted MCP server and REST API for Teachers Pay Teachers: 14 tools (7 read, 7 write).
Access       Request access at https://cotlet.dev/app/signup?app=teachers-pay-teachers; we email the API key.

MCP server   https://cotlet.dev/mcp/v1
REST base    https://cotlet.dev/api/v1/teachers-pay-teachers
Auth         Authorization: Bearer <COTLET_API_KEY>. Listing endpoints and schemas needs no key; calling an endpoint needs one.
Tools        list_products, get_product, get_store_stats, get_product_stats, list_sales, get_search_keywords, list_buyer_questions, create_product, update_product, set_product_status, upload_revised_file, answer_buyer_question, schedule_sale, send_note_to_followers
Confirm      create_product, update_product, set_product_status, upload_revised_file, answer_buyer_question, schedule_sale, send_note_to_followers (by default the user approves each call; the user can switch this off per tool, e.g. for scheduled automations)
Markdown     https://cotlet.dev/integrations/teachers-pay-teachers-api-mcp-server.md

How access works:
1. The user requests access at https://cotlet.dev/app/signup?app=teachers-pay-teachers (Teachers Pay Teachers is pre-selected). Each request is reviewed and the API key is sent by email.
2. The user signs in to Teachers Pay Teachers once in a browser. An agent cannot do this step.
3. The API key goes into the MCP client or the REST call as a bearer token.

Fits: people who want a hosted Teachers Pay Teachers server that someone else maintains, including non-developers. Developers who prefer to run and fix code on their own computer can use an open-source Teachers Pay Teachers MCP server instead.

Policy: Cotlet never stores passwords, never solves CAPTCHAs, never bypasses MFA.
Company: legal details in the Terms of service at https://cotlet.dev/terms. Contact contact@cotlet.dev.
Session: the user signs in to Teachers Pay Teachers in a browser; Cotlet keeps only the session, AES-256 encrypted, revocable in the dashboard at any time.
Terms: the user stays responsible for following Teachers Pay Teachers's terms; Cotlet is not affiliated with Teachers Pay Teachers.
Full page as Markdown

Automations

Can Teachers Pay Teachers automations run on a schedule in n8n, Make or Zapier?

Yes. Cotlet does not replace your automation platform: it gives it a Teachers Pay Teachers connection it does not have, with the same API key as your agent. Write actions ask for your OK by default; switch that off in your dashboard for the tools you choose, for example to answer buyer questions, and the schedule runs on its own. Cotlet runs in the cloud, so it keeps going while your computer is off.

Where to run Teachers Pay Teachers automations through Cotlet, and how to schedule them
Where How to connect How to schedule
Your AI agent Add https://cotlet.dev/mcp/v1 with your API key. A scheduled agent run, for example a Claude Code routine.
n8n MCP Client node with https://cotlet.dev/mcp/v1, or an HTTP Request node to https://cotlet.dev/api/v1/teachers-pay-teachers/{tool}. Schedule Trigger node.
Make HTTP module: POST https://cotlet.dev/api/v1/teachers-pay-teachers/{tool} with an Authorization: Bearer header and a JSON body. Scenario schedule.
Zapier Webhooks by Zapier: POST https://cotlet.dev/api/v1/teachers-pay-teachers/{tool} with the same header and body. Schedule by Zapier trigger.
Your own script POST https://cotlet.dev/api/v1/teachers-pay-teachers/{tool} with your API key. cron or GitHub Actions.

Pricing & limits

How much does the Teachers Pay Teachers API cost?

Free 7-day trial with 5,000 credits, no card needed. After that, the Teachers Pay Teachers API comes with the Cotlet plan, from $29 a month for 3,000 credits, with no limit on apps. Each month's credits stay valid for 3 months, so unused credits add up.

Cotlet plan sizes: price, monthly credits and price per credit
Size Price Credits / month Per credit
Solo $29/mo 3,000 about $0.0097
Pro $99/mo 12,000 about $0.0083
Agency $299/mo 40,000 $0.0075

Each successful call uses credits for the work it takes; failed calls and timeouts cost nothing. A hard spend cap is on by default. Authenticate with the Authorization: Bearer header.

About Cotlet

How Cotlet holds your access

Cotlet hosts MCP servers and REST APIs for apps with no usable API. Your agent works in your own Teachers Pay Teachers account.

Company details
The legal name, address and registration numbers of the company behind Cotlet are in the Terms of service. Terms
Your session
You sign in to Teachers Pay Teachers yourself, in your browser. We keep only the session, never your password: encrypted with AES-256 in an EU vault, isolated to your account and used only when your agent calls a Teachers Pay Teachers tool you allowed. When it expires, your agent gives you a link to sign in again. Security
Revoking access
Disconnect Teachers Pay Teachers in your dashboard: the session is deleted and access ends at once. Actions that reach other people wait for your OK unless you switch that off per tool.
What we never do
Store passwords, solve CAPTCHAs or bypass MFA.
Teachers Pay Teachers's terms
You use your own Teachers Pay Teachers account and stay responsible for following Teachers Pay Teachers's terms. Cotlet is independent and not affiliated with Teachers Pay Teachers. Terms
Contact
Questions about the company, security or an app: contact@cotlet.dev
About Cotlet

Frequently asked questions

How do I get access?

Request access and pick Teachers Pay Teachers. Cotlet reviews each request and emails you your API key.

Do I need to be technical?

No. You sign in to Teachers Pay Teachers once in your browser and paste one command into your agent, or one URL into n8n. Your agent can walk you through it. There is no server to install, update or fix.

Is a hosted server safe? My Teachers Pay Teachers session would leave my computer.

Cotlet keeps your Teachers Pay Teachers session encrypted with AES-256 in an EU vault, isolated to your account and used only for the tools you allow: read only, or read and write. The AI model never sees it, and you revoke it in one click. A local server keeps the same session in a file on your computer, readable by any program you run, and needs a fresh sign-in whenever it expires.

Can my agent post or send messages in Teachers Pay Teachers without asking me?

No. Every call to create_product, update_product, set_product_status, upload_revised_file, answer_buyer_question, schedule_sale or send_note_to_followers waits for your OK by default. For scheduled automations you can switch confirmation off per tool in your dashboard, for example only for approvals.

Can I use the Teachers Pay Teachers API in n8n?

Yes. Add https://cotlet.dev/mcp/v1 with your API key in n8n's MCP Client node, or call https://cotlet.dev/api/v1/teachers-pay-teachers/{tool} from the HTTP Request node.

Give your agent access to Teachers Pay Teachers.

Request access and pick it. We review each request and email you your API key. Free 7-day trial with 5,000 credits, no card needed.