For AI agents: Find a documentation index at https://talkjs.com/llms.txt (full content at https://talkjs.com/llms-full.txt). Get a markdown version of any page by appending .md to its URL path.
Skip to content

Service marketplaces

In-app chat for freelance and service marketplaces

When a client and a freelancer disagree about a job, their chat is the record of what they agreed. TalkJS gives your marketplace a chat API and a ready-made chat UI with one conversation per job. That conversation stays on your platform from the first question to the final payment, so your team can settle disputes from the history.

Bee Delivery
FreeUp
Local Heroes
Teddy

Client and freelancer messaging, one conversation per job

Give each job its own conversation, and the whole job lives in one thread: the client’s first question, the quote, photos of a leaking tap and every change they agree along the way.

Your app can post the steps that matter as system messages, such as “Quote accepted” or “Job completed”, so the thread shows when each one happened. Freelance.nl, which connects freelancers with recruiters, posts assignment status changes this way. When the job is done, set both participants to read-only. They can still read the history, but neither of them can add to it.

Your server creates each conversation with one REST API call. Use your own job ID as the conversation ID and the job title as the subject, which shows in the chat header. Store the job ID as custom data, and notification emails can link straight to the job.

Providers are often out on a job, not in your app. When someone’s offline, we send their missed messages by email after a delay you set, or by SMS or push notification, and they can reply straight from the email. For tours and activities, where travelers book local guides, see chat for travel booking marketplaces.

S
Sandra (Customer)
Hi! Are you available to fix a leaking kitchen tap this afternoon?
14:02
A
Hi! Yes, I’m available from 4 PM onwards. Can you briefly describe the issue?
14:03
S
Sandra (Customer)
It’s been dripping constantly since this morning and won’t fully shut off.
14:04
A
Thanks. That sounds straightforward and should be fixable in one visit.
14:05
S
Sandra (Customer)
Perfect. Please go ahead and book me in for 4 PM.
14:06
thumbs-up
Message your customer...

Settle two-sided marketplace disputes from the in-app messaging history

The big service marketplaces only stand behind work that stays on their platform. Fiverr’s off-platform policy says that when something goes wrong, Fiverr “cannot intervene or protect users conducting business outside the platform.” TaskRabbit’s Taskprotect only covers tasks booked and paid for through TaskRabbit, and Rover says a payment made outside Rover isn’t covered by the Rover Guarantee. If your clients and providers made the deal in a text thread outside your app, your team has nothing to check.

In TalkJS you choose per role whether users can edit or delete messages, so you can switch both off for clients and providers. Message history is unlimited on every plan, and the files shared in a conversation stay in it.

When a job goes wrong, open the conversation in your TalkJS dashboard, view it the way either participant saw it, and export it. To work with it in your own support tool, fetch the messages through the REST API. Add a support agent to the conversation to mediate, or move a user to a read-only role while you look into it.

To keep first contact where you can see it, mask email addresses, phone numbers and links until someone’s hired. StyleSeat, a booking marketplace for beauty and wellness professionals, saw a 3x increase in booking conversion after replacing its masked-SMS setup with TalkJS chat.

Case study
FreeUp logo

FreeUp can settle client and freelancer disputes from the chat history

FreeUp connects businesses with freelancers. Matt Harrison, its VP of Strategy, says they “needed both clients and freelancers to work within the platform and not via emails only.” Its admins get an overview of all conversations, and when a business and a freelancer disagree, they can read the messages to sort it out. FreeUp looked at Sendbird and OpenTok and chose TalkJS because it “was easy to deploy.”

Read the full case study
import { Chatbox } from "@talkjs/react-components";
import "@talkjs/react-components/default.css";

<Chatbox
  appId="<APP_ID>"
  userId="sandra"
  conversationId="job_4821"
/>

Add the in-app chat API to your freelancer marketplace platform

Our chat UI comes as ready-made components for React, React Native and Flutter, plus Web Components that work in any JavaScript app, so a client on your website and a provider on your mobile app share the same thread. To build your own UI instead, use our Data APIs for JavaScript, Kotlin and Swift.

At Hotplate, a marketplace for home chefs, two engineers had chat running in two and a half weeks.

In-app chat UI that matches your marketplace app

TalkJS provides prebuilt themes you can use right away or customize to match your brand’s design and user experience.

Themes give you complete control over how your chat looks and feels—from overall layout and message styling to fonts, colors, and interactive elements. You can fine-tune every visual detail, extend functionality, or design a fully bespoke chat interface.

Whether you start from a default theme or build your own, TalkJS provides a flexible foundation to create a consistent and responsive chat experience within your product.

Messaging API pricing for marketplace apps

We price TalkJS per monthly active user, with unlimited conversations and messages on every plan. A client or a freelancer counts once a month, however many jobs they message about.

  • Basic: $279 a month, with 10,000 monthly active users included.
  • Growth: $569 a month, with 25,000 included.
  • Enterprise: custom pricing.

Every plan includes a free development mode, so you can build and test chat on your marketplace before you pay. See pricing for what each plan includes, or compare TalkJS with other chat APIs.

Hotplate logo
The support was incredibly helpful. It’s now the major reason we’ll continue to stick with TalkJS.
Ben Klenk
Co-founder and CEO, Hotplate

FAQs

Yes. Turn on file sharing for the roles you choose, and clients and providers can send images, PDFs and other files of up to 100 MB each on the Basic and Growth plans. Location sharing sends a user's current location or a meeting point as a Google Maps link with a pin.

Yes. If your marketplace connects employers or recruiters with candidates rather than clients with service providers, see our page on chat for hiring and job websites. The same building blocks apply: a conversation per job, roles for each side, and notifications.