Live

Thumbtack logo

Thumbtack API and MCP server

thumbtack.com

Thumbtack has an official Partner Platform API for leads (called negotiations), messages and reviews, but its docs are gated and access is by request for integration partners (checked 11 Oct 2026). Cotlet is a hosted MCP server and REST API for Thumbtack with 12 endpoints (6 read, 6 write): your AI agent signs in as you and does the work.

Endpoints
12 6 read, 6 write
Updated
How Cotlet connects your agent to Thumbtack
  1. Your agent

    Claude Code, Codex, Cursor or a script

  2. Cotlet

    MCP server and REST API · 12 endpoints

    cotlet.dev/mcp/v1

  3. Thumbtack logo

    Thumbtack

    Signed in as you on thumbtack.com

You sign in once. We never store your password.

Official API

Does Thumbtack have an official API?

Thumbtack has an official Partner Platform API for leads (called negotiations), messages and reviews, but its docs are gated and access is by request for integration partners (checked 11 Oct 2026). A pro gets no API key for their own account. Thumbtack Help also describes a one-way webhook that sends leads, messages and reviews out to other business tools.

What Thumbtack's own tools do compared with Cotlet
Task Thumbtack official Cotlet
List and read leads Partly Partner API sends new leads as negotiation events to a webhook Yes
Read messages with a customer Partly Partner Messages API Yes
Reply to a lead or message a customer Partly Partner Messages API, approved partners only Yes
Reach out to Opportunities with a quote No Yes
Send estimates No Yes
Read reviews Partly Partner Reviews API Yes
Reply to reviews Partly Partner Reviews API allows a public reply Yes
Read or change weekly budget No Yes

Sources: Thumbtack Partner Platform: Pro Negotiations · Thumbtack Partner Platform: Pro Reviews · Thumbtack Help: How to create a webhook · Thumbtack Help: What are Opportunities? · Thumbtack Help: How to respond to leads · Thumbtack Help: How to create estimates and invoices on Thumbtack · Thumbtack Help: What is Front Desk?

Common use cases

What can an AI agent do in Thumbtack?

Cotlet is best for Thumbtack pros who are not developers and want their AI agent to answer leads, quote Opportunities, send estimates and reply to reviews without running or fixing a server.

  • Reply to new leads fast Runs: Daily

    Every weekday at 7:00 and 12:00, reply to new Thumbtack leads for bathroom and kitchen remodels. Mention their start date, ask for photos of the room, and hold anything outside my services for me. Your agent calls list_leads, get_lead and reply_to_lead.

  • Quote Opportunities automatically Runs: Daily

    Three times a day, check Thumbtack Opportunities for Deck Repair and Fence Repair within Austin, skip any with a fee over $25, and send my standard quote: $150 for deck board repair, $120 for a fence section. Your agent calls list_opportunities and reach_out_to_opportunity.

  • Send estimates to customers Runs: Weekly

    Send the Miller lead an estimate from our thread: 2 bedrooms painted at $450 each, ceilings at $120 each if she asked for them, 10% discount, 8.25% tax. Your agent calls list_messages and send_estimate.

  • Reply to Thumbtack reviews Runs: Weekly

    Show me reviews I have not answered and draft a thank-you for each. Your agent calls list_reviews and reply_to_review.

  • Adjust your weekly lead budget Runs: Weekly

    Lower my weekly budget to $200 while I am on vacation. Your agent calls get_budget and set_weekly_budget.

Endpoints

What is the Thumbtack API?

Cotlet's Thumbtack API exposes 12 endpoints for your own Thumbtack account: list leads, get lead, list messages, list Opportunities, list reviews, get budget, reply to lead, send message, reach out to Opportunity, send estimate, reply to review and set weekly budget. The list_leads endpoint returns leads from your Jobs page, newest first, with service, location and whether you replied. Each endpoint takes simple JSON inputs like lead_id, limit or body and works both as an MCP tool for agents and as a REST call for scripts.

All endpoints · 12 total

missing one? request an endpoint

  • POST

    list_leads

    read

    Lists leads in your Thumbtack pro account, newest first, including older leads that a webhook would never have sent. Filter by creation date to see what came in since your last check. Pass next_cursor back as cursor for the next page. Use get_lead for the customer's full answers.

    POST /api/v1/thumbtack/list_leads

    Input

    Input: list_leads
    Parameter Type Description
    since date Only leads created on or after this date.
    unreplied_only boolean Only leads you have not replied to.
    limit integer 1 to 100. Default: 25.
    cursor string Next page cursor from the previous call.

    Example response

    {
      "leads": [
        {
          "lead_id": "519153480500518912",
          "customer": "Dana R.",
          "service": "Kitchen Remodel",
          "location": "Austin, TX",
          "created_at": "2026-10-11T07:42:00-05:00",
          "replied": false
        }
      ],
      "next_cursor": "eyJvZmZzZXQiOjI1fQ"
    }
  • POST

    get_lead

    read

    Returns one lead with the customer's answers to the job questions, the job location and when they want the work done. Read it before replying so the message refers to the actual job.

    POST /api/v1/thumbtack/get_lead

    Input

    Input: get_lead
    Parameter Type Description
    lead_id required string Lead ID from list_leads.

    Example response

    {
      "lead_id": "519153480500518912",
      "customer": "Dana R.",
      "service": "Kitchen Remodel",
      "location": "Austin, TX",
      "created_at": "2026-10-11T07:42:00-05:00",
      "answers": [
        {
          "question": "What type of project is this?",
          "answer": "Full remodel"
        },
        {
          "question": "When do you want to start?",
          "answer": "Within 2 weeks"
        }
      ],
      "replied": false
    }
  • POST

    list_messages

    read

    Returns the messages of one conversation, oldest first, so the agent reads the thread in order before answering or pricing. Estimates you sent appear in the thread.

    POST /api/v1/thumbtack/list_messages

    Input

    Input: list_messages
    Parameter Type Description
    lead_id required string Lead ID from list_leads.
    limit integer 1 to 200. Default: 50.

    Example response

    {
      "lead_id": "519153480500518912",
      "messages": [
        {
          "from": "customer",
          "body": "Can you start the week of Oct 20?",
          "sent_at": "2026-10-11T08:05:00-05:00"
        },
        {
          "from": "you",
          "body": "Yes, I have an opening that week.",
          "sent_at": "2026-10-11T08:20:00-05:00"
        }
      ]
    }
  • POST

    list_opportunities

    read

    Lists Opportunities open to you, with the cost Thumbtack shows before you reach out. Thumbtack charges that cost only if you reach out and the customer responds. An Opportunity closes to quotes after 48 hours, once five pros have shown interest, or if the customer cancels; closes_at is the 48 hour mark.

    POST /api/v1/thumbtack/list_opportunities

    Input

    Input: list_opportunities
    Parameter Type Description
    service string Only Opportunities for this service, e.g. Deck Repair.
    limit integer 1 to 50. Default: 25.
    cursor string Next page cursor from the previous call.

    Example response

    {
      "opportunities": [
        {
          "opportunity_id": "opp_30418",
          "customer": "Dana R.",
          "service": "Deck Repair",
          "location": "Austin, TX",
          "cost": 19,
          "closes_at": "2026-10-13T09:10:00-05:00"
        }
      ],
      "next_cursor": null
    }
  • POST

    list_reviews

    read

    Lists reviews on your pro profile, newest first, with rating, text and your response if you wrote one. Set unanswered_only to see the reviews that still need a reply. Use review_id with reply_to_review.

    POST /api/v1/thumbtack/list_reviews

    Input

    Input: list_reviews
    Parameter Type Description
    unanswered_only boolean Skip reviews you already responded to.
    limit integer 1 to 100. Default: 25.
    cursor string Next page cursor from the previous call.

    Example response

    {
      "reviews": [
        {
          "review_id": "rev_8841",
          "rating": 5,
          "author": "Maria S.",
          "text": "Fixed our leaking sink in an hour. Great communication.",
          "created_at": "2026-10-08T16:30:00-05:00",
          "response": null
        }
      ],
      "next_cursor": null
    }
  • POST

    get_budget

    read

    Returns your weekly budget, the spend so far this week and the day it resets. The weekly budget limits spend on leads; Opportunities are paid separately and are not counted against it.

    POST /api/v1/thumbtack/get_budget

    Input

    No parameters.

    Example response

    {
      "weekly_budget": 300,
      "spent_this_week": 112,
      "resets": "Monday"
    }
  • POST

    reply_to_lead

    write

    Sends your first message to one lead, with optional photos or files by URL. The customer sees it right away and the conversation then lives in your Messages. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/thumbtack/reply_to_lead

    Input

    Input: reply_to_lead
    Parameter Type Description
    lead_id required string Lead ID from list_leads.
    body required string Message text.
    attachment_urls string[] Photos or files to attach, by URL.

    Example response

    {
      "lead_id": "519153480500518912",
      "message_id": "msg_7f3a91c2",
      "status": "sent",
      "sent_at": "2026-10-11T09:14:00-05:00"
    }
  • POST

    send_message

    write

    Adds a message to a conversation that already exists, with optional photos or files by URL. The customer sees it right away. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/thumbtack/send_message

    Input

    Input: send_message
    Parameter Type Description
    lead_id required string Lead ID from list_leads.
    body required string Message text.
    attachment_urls string[] Photos or files to attach, by URL.

    Example response

    {
      "lead_id": "519153480500518912",
      "message_id": "msg_7f3a91d8",
      "status": "sent",
      "sent_at": "2026-10-11T09:30:00-05:00"
    }
  • POST

    reach_out_to_opportunity

    write

    Reaches out to one Opportunity with a message and an optional quote price. Thumbtack charges the cost shown in list_opportunities only if the customer responds, using your payment method, not your weekly budget. Fails if the Opportunity has closed. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/thumbtack/reach_out_to_opportunity

    Input

    Input: reach_out_to_opportunity
    Parameter Type Description
    opportunity_id required string Opportunity ID from list_opportunities.
    body required string Message text.
    quote_price integer Quote in whole currency units of your account, if you want to include one.

    Example response

    {
      "opportunity_id": "opp_30418",
      "lead_id": "519153480500518977",
      "status": "sent",
      "quote_price": 150,
      "cost_if_customer_responds": 19
    }
  • POST

    send_estimate

    write

    Sends an estimate in the lead's conversation with custom line items, an optional discount, tax and a message to the customer. The total is computed from the line items. Thumbtack cannot cancel a sent estimate; send a new one to correct it. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/thumbtack/send_estimate

    Input

    Input: send_estimate
    Parameter Type Description
    lead_id required string Lead ID from list_leads.
    line_items required object[] List of { name, unit, quantity, unit_price }.
    discount object { type: percent or amount, value }.
    tax_percent number Tax rate in percent.
    message string Note to the customer.

    Example response

    {
      "lead_id": "519153480500518912",
      "estimate_id": "est_5521",
      "status": "sent",
      "subtotal": 900,
      "discount": 90,
      "total": 810
    }
  • POST

    reply_to_review

    write

    Posts your public response under one review, under your business name. Thumbtack does not let you edit a response once it is submitted. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/thumbtack/reply_to_review

    Input

    Input: reply_to_review
    Parameter Type Description
    review_id required string Review ID from list_reviews.
    body required string Response text.

    Example response

    {
      "review_id": "rev_8841",
      "status": "published"
    }
  • POST

    set_weekly_budget

    write

    Sets your weekly lead budget. Once the budget is reached, new leads stop until it resets the following Monday. Opportunities are paid separately. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/thumbtack/set_weekly_budget

    Input

    Input: set_weekly_budget
    Parameter Type Description
    amount required integer Weekly budget in whole currency units of your account.

    Example response

    {
      "weekly_budget": 200,
      "previous_weekly_budget": 300,
      "spent_this_week": 112
    }

Setup

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

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

Connect Thumbtack over MCP

  1. 1

    Create an account

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

  2. 2

    Sign in to Thumbtack once

    Open the connect page from the console and sign in to Thumbtack 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

    Every weekday at 7:00 and 12:00, reply to new Thumbtack leads for bathroom and kitchen remodels. Mention their start date, ask for photos of the room, and hold anything outside my services for me.

    Ask in plain words. Your agent finds the Thumbtack 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 Thumbtack 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/thumbtack/reply_to_lead \
      -H "Authorization: Bearer $COTLET_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"lead_id":"519153480500518912","body":"Hi! Thanks for reaching out about your kitchen remodel. Could you send a few photos of the space?"}'

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

  3. 3

    Read the result

    Example response · reply_to_lead

    {
      "lead_id": "519153480500518912",
      "message_id": "msg_7f3a91c2",
      "status": "sent",
      "sent_at": "2026-10-11T09:14:00-05:00"
    }

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

Why Cotlet

Why use Cotlet for Thumbtack? 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 Thumbtack 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 Thumbtack changes, the tool pauses until we fix it.
    • Failed calls cost nothing.

Alternatives

Is there a Thumbtack MCP server on GitHub?

No Thumbtack MCP server turned up on GitHub or in Thumbtack's docs (checked 11 Oct 2026). The realistic option is Thumbtack's own webhook feeding a tool like Zapier, which pushes new events out but cannot act in your account.

Cotlet compared with a Webhook + Zapier
Webhook + Zapier Cotlet
Setup Create a webhook under Apps > Manage webhooks in a web browser, point it at a Zapier catch URL Request access, sign in to Thumbtack once, add one MCP server or API key
What it can do One way: new leads, messages and reviews flow out Read and act: reply, quote Opportunities, send estimates, set budget, each send confirmed by you
Leads already in your account Only events that arrive after the webhook is on Reads your Jobs and Messages as they are today
When Thumbtack changes Thumbtack maintains the webhook Our team tests it daily and fixes it for you; failed calls are free
Your Thumbtack session Not used, the webhook is a Thumbtack-side feed Encrypted in an EU vault, limited to the actions you allow, revoked in one click
Where it runs Your Zapier account, no agent access Hosted: Claude Code, Codex, Cursor, n8n and scripts, also on a schedule
Price Your Zapier plan 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 Thumbtack 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 Thumbtack in plain text The facts on this page in one block: status, endpoints, access, pricing, contact.

Endpoint health

verified 2h ago

  • list_leads passing
  • get_lead passing
  • list_messages passing
  • list_opportunities passing
  • list_reviews passing

+ 7 more endpoints

12/12 passing latest check self-healing

thumbtack.txt

Thumbtack has an official Partner Platform API for leads (called negotiations), messages and reviews, but its docs are gated and access is by request for integration partners (checked 11 Oct 2026). A pro gets no API key for their own account. Thumbtack Help also describes a one-way webhook that sends leads, messages and reviews out to other business tools.
Cotlet provides a hosted MCP server and REST API for Thumbtack: 12 tools (6 read, 6 write).
Access       Request access at https://cotlet.dev/app/signup?app=thumbtack; we email the API key.

MCP server   https://cotlet.dev/mcp/v1
REST base    https://cotlet.dev/api/v1/thumbtack
Auth         Authorization: Bearer <COTLET_API_KEY>. Listing endpoints and schemas needs no key; calling an endpoint needs one.
Tools        list_leads, get_lead, list_messages, list_opportunities, list_reviews, get_budget, reply_to_lead, send_message, reach_out_to_opportunity, send_estimate, reply_to_review, set_weekly_budget
Confirm      reply_to_lead, send_message, reach_out_to_opportunity, send_estimate, reply_to_review, set_weekly_budget (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/thumbtack-api-mcp-server.md

How access works:
1. The user requests access at https://cotlet.dev/app/signup?app=thumbtack (Thumbtack is pre-selected). Each request is reviewed and the API key is sent by email.
2. The user signs in to Thumbtack 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 Thumbtack server that someone else maintains, including non-developers.

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 Thumbtack 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 Thumbtack's terms; Cotlet is not affiliated with Thumbtack.
Full page as Markdown

Automations

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

Yes. Cotlet does not replace your automation platform: it gives it a Thumbtack 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 reply to new leads fast, and the schedule runs on its own. Cotlet runs in the cloud, so it keeps going while your computer is off.

Where to run Thumbtack 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/thumbtack/{tool}. Schedule Trigger node.
Make HTTP module: POST https://cotlet.dev/api/v1/thumbtack/{tool} with an Authorization: Bearer header and a JSON body. Scenario schedule.
Zapier Webhooks by Zapier: POST https://cotlet.dev/api/v1/thumbtack/{tool} with the same header and body. Schedule by Zapier trigger.
Your own script POST https://cotlet.dev/api/v1/thumbtack/{tool} with your API key. cron or GitHub Actions.

Pricing & limits

How much does the Thumbtack API cost?

Free 7-day trial with 5,000 credits, no card needed. After that, the Thumbtack 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 Thumbtack 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 Thumbtack 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 Thumbtack tool you allowed. When it expires, your agent gives you a link to sign in again. Security
Revoking access
Disconnect Thumbtack 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.
Thumbtack's terms
You use your own Thumbtack account and stay responsible for following Thumbtack's terms. Cotlet is independent and not affiliated with Thumbtack. 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 Thumbtack. Cotlet reviews each request and emails you your API key.

Do I need to be technical?

No. You sign in to Thumbtack 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 Thumbtack session would leave my computer.

Cotlet keeps your Thumbtack 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.

Do Opportunities count against my weekly budget?

No. Thumbtack bills Opportunities separately: you see the cost upfront and are charged with your payment method only if the customer responds to your message. The weekly budget limits spend on leads.

Can my agent change an estimate it already sent?

No. Thumbtack cannot cancel a sent estimate. Your agent sends a corrected estimate as a new one.

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

No. Every call to reply_to_lead, send_message, reach_out_to_opportunity, send_estimate, reply_to_review or set_weekly_budget 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 Thumbtack 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/thumbtack/{tool} from the HTTP Request node.

Give your agent access to Thumbtack.

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.