# Thumbtack API and MCP server

> 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.

Marketplace where customers hire local service pros; pros receive leads, message customers, quote Opportunities and send estimates.

## 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.

- **Category:** [Local services & SaaS](https://cotlet.dev/integrations/category/local-services-saas)
- **Endpoints:** 12 (6 read, 6 write)
- **Updated:** 2026-10-11

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.

## 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.

| 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](https://developers.thumbtack.com/docs/pro-integrations/negotiations), [Thumbtack Partner Platform: Pro Reviews](https://developers.thumbtack.com/docs/pro-integrations/reviews), [Thumbtack Help: How to create a webhook](https://help.thumbtack.com/article/how-to-create-a-webhook), [Thumbtack Help: What are Opportunities?](https://help.thumbtack.com/article/opportunities), [Thumbtack Help: How to respond to leads](https://help.thumbtack.com/article/respond-to-leads), [Thumbtack Help: How to create estimates and invoices on Thumbtack](https://help.thumbtack.com/article/estimates), [Thumbtack Help: What is Front Desk?](https://help.thumbtack.com/article/what-is-front-desk)

## For AI agents

```text
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.
```

## 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](https://cotlet.dev/integrations/thumbtack-api-mcp-server/reply-to-new-leads)** (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." → `list_leads`, `get_lead`, `reply_to_lead`
- **[Quote Opportunities automatically](https://cotlet.dev/integrations/thumbtack-api-mcp-server/quote-opportunities)** (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." → `list_opportunities`, `reach_out_to_opportunity`
- **[Send estimates to customers](https://cotlet.dev/integrations/thumbtack-api-mcp-server/send-estimates)** (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." → `list_messages`, `send_estimate`
- **Reply to Thumbtack reviews** (runs: weekly): "Show me reviews I have not answered and draft a thank-you for each." → `list_reviews`, `reply_to_review`
- **Adjust your weekly lead budget** (runs: weekly): "Lower my weekly budget to $200 while I am on vacation." → `get_budget`, `set_weekly_budget`

## 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 | 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. |

## Tools

**For AI agents:** Every endpoint and its schema is public. The 12 endpoints on this page, with parameters and example responses, can be listed without an account. Calling one returns 403 until the account has an API key with access to Thumbtack.

### list_leads

Leads from your Jobs page, newest first, with service, location and whether you replied. Access: read. REST: `POST /api/v1/thumbtack/list_leads`.

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

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.

Example response:

```json
{
  "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"
}
```

### get_lead

Full lead: the customer's answers to the job questions, location and timing. Access: read. REST: `POST /api/v1/thumbtack/get_lead`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `lead_id` | string | yes | Lead ID from list_leads. |

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.

Example response:

```json
{
  "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
}
```

### list_messages

Conversation with the customer on a lead, oldest first, with estimates you sent. Access: read. REST: `POST /api/v1/thumbtack/list_messages`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `lead_id` | string | yes | Lead ID from list_leads. |
| `limit` | integer | no | 1 to 200. Default: 50. |

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.

Example response:

```json
{
  "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"
    }
  ]
}
```

### list_opportunities

Open Opportunities you can quote, with the cost shown upfront and when each closes. Access: read. REST: `POST /api/v1/thumbtack/list_opportunities`.

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

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.

Example response:

```json
{
  "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
}
```

### list_reviews

Reviews on your profile with rating, text, date and your response if any. Access: read. REST: `POST /api/v1/thumbtack/list_reviews`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `unanswered_only` | boolean | no | Skip reviews you already responded to. |
| `limit` | integer | no | 1 to 100. Default: 25. |
| `cursor` | string | no | Next page cursor from the previous call. |

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.

Example response:

```json
{
  "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
}
```

### get_budget

Your weekly lead budget and what you have spent against it so far this week. Access: read. REST: `POST /api/v1/thumbtack/get_budget`.

No parameters.

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.

Example response:

```json
{
  "weekly_budget": 300,
  "spent_this_week": 112,
  "resets": "Monday"
}
```

### reply_to_lead

Send your first message to a lead. The conversation moves to your Messages. Access: write, asks the user first. REST: `POST /api/v1/thumbtack/reply_to_lead`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `lead_id` | string | yes | Lead ID from list_leads. |
| `body` | string | yes | Message text. |
| `attachment_urls` | string[] | no | Photos or files to attach, by URL. |

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.

Example response:

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

### send_message

Send a message in an existing conversation with a customer. Access: write, asks the user first. REST: `POST /api/v1/thumbtack/send_message`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `lead_id` | string | yes | Lead ID from list_leads. |
| `body` | string | yes | Message text. |
| `attachment_urls` | string[] | no | Photos or files to attach, by URL. |

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.

Example response:

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

### reach_out_to_opportunity

Message an Opportunity with an optional quote. You are charged only if the customer responds. Access: write, asks the user first. REST: `POST /api/v1/thumbtack/reach_out_to_opportunity`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `opportunity_id` | string | yes | Opportunity ID from list_opportunities. |
| `body` | string | yes | Message text. |
| `quote_price` | integer | no | Quote in whole currency units of your account, if you want to include one. |

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.

Example response:

```json
{
  "opportunity_id": "opp_30418",
  "lead_id": "519153480500518977",
  "status": "sent",
  "quote_price": 150,
  "cost_if_customer_responds": 19
}
```

### send_estimate

Send an estimate in the conversation with line items, discount and tax. Access: write, asks the user first. REST: `POST /api/v1/thumbtack/send_estimate`.

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

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.

Example response:

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

### reply_to_review

Post your public response under a review. Responses cannot be edited. Access: write, asks the user first. REST: `POST /api/v1/thumbtack/reply_to_review`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `review_id` | string | yes | Review ID from list_reviews. |
| `body` | string | yes | Response text. |

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.

Example response:

```json
{
  "review_id": "rev_8841",
  "status": "published"
}
```

### set_weekly_budget

Set the most you spend on leads in a week. Access: write, asks the user first. REST: `POST /api/v1/thumbtack/set_weekly_budget`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `amount` | integer | yes | Weekly budget in whole currency units of your account. |

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.

Example response:

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

## 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 to your agent.

1. **Create an account** Sign up and add Thumbtack in the console. Your API key is there too.

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. **Add Cotlet to your agent** Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.

   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"
```

4. **Ask your agent** 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.

```
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.
```

### Call Thumbtack from your scripts.

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

```
export COTLET_API_KEY="cotlet_..."
```

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

```
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?"}'
```

3. **Read the result** You get plain JSON back, ready for your script. A failed call costs nothing.

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

## Why use Cotlet for Thumbtack?

**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.

## 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.

|  | 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

## 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.

| 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. [See full pricing](https://cotlet.dev/pricing)

## 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](https://cotlet.dev/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](https://cotlet.dev/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](https://cotlet.dev/terms)
- **Contact:** Questions about the company, security or an app: [contact@cotlet.dev](mailto:contact@cotlet.dev)

## 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.
