Product / Developers

An API that already knows what a match is.

Members, photos, decks, likes, matches, messages, reports, ID checks and billing, as plain REST endpoints. Your developers build the screens that make you different. We run the rest.

Base URL: platform.datingapi.io/v1

# A member likes someone. The reply says if it's a match.
curl -X PUT https://platform.datingapi.io/v1/me/likes/mbr_8f2k1 \
  -H "Authorization: Bearer $MEMBER_TOKEN" \
  -d '{"liked": true}'

{
  "liked": true,
  "matched": true,
  "member": { "id": "mbr_8f2k1", "name": "Maya", "age": 29,
              "identity_verified": true, "network": false }
}
What’s in the API

Built for the screens dating apps actually have.

Every endpoint maps to something a member does. No generic “objects” to model your way around.

AreaEndpointsNotes
Accountsregister · sign in · POST /v1/session/refresh · DELETE /v1/meMember tokens you can refresh. Sign-up comes from the member’s own device.
Profile and photosGET /v1/me · PATCH /v1/me/profile · POST /v1/me/photosFields defined per app in the console
DiscoveryPOST /v1/me/search · POST /v1/me/search/deck · GET /v1/me/members/{id}25 a page, with has_more
Likes and matchesPUT /v1/me/likes/{id} · GET /v1/me/likes/received · POST /v1/me/reactions/{id}"matched": true in the reply
MessagesGET /v1/me/messages · POST /v1/me/messages/{id}/repliesPhotos, unread counts, priority messages
SafetyPOST /v1/me/blocks/{id} · POST /v1/me/reportsReports go straight to the review team
ID checksPOST /v1/me/identity-verifications · GET /v1/me/identity-verificationBadge shows across your app
QuestionsGET /v1/me/questions/next · GET /v1/me/members/{id}/answer-stats“You agree on 7 of 9”
BillingPOST /v1/sites/{site}/members/{member}/transactionsReport store sales from your server. No commission.
Views and reactionsGET /v1/me/views/received · POST /v1/me/reactions/{id}Who viewed you, and reactions to photos
Similar membersGET /v1/me/members/{id}/similar“More like this” on any profile
IntroductionsPOST /v1/me/introductions · GET /v1/me/introductions/quotaOne message to up to 100 people, with a daily allowance
BoostsPOST /v1/me/boostsSpend a boost from the member’s balance
Checkout and plansGET /v1/prices · POST /v1/me/checkouts · GET /v1/me/subscriptionSell plans on the web, then cancel or restore them
Email linksPOST /v1/sessions/exchange · POST /v1/password-resetsSign-in, confirmation, password reset and one-click unsubscribe
Messages from your teamGET /v1/me/messages/siteYour own announcements in each member’s inbox

Paths shown for orientation. The API reference, with exact parameters, headers and responses, is shared with partners during onboarding.

How it behaves

Predictable, on purpose.

Idempotency-Key

Safe retries

Writes can carry an idempotency key, so a retried request only ever happens once. Nobody gets a message twice.

network: true

Network members, marked

Set private, backfill or shared in the console. The same endpoints return network members, marked network: true, and nothing else about where they joined.

pool_limit_reached

Errors you can act on

Every error has a stable code and a plain message, so your app can show the right thing instead of a spinner.

429 + Retry-After

Generous limits

Rate limits set for your volume, with a clear Retry-After when you hit one.

GET /v1/site

Driven by your settings

Your app reads its own fields, report reasons and rules from the API, so the console changes the app without a release.

webhooks

Webhooks

Your server hears about matches, messages, likes, ID results, removals and payments as they happen, ready for push notifications. Coming soon.

Webhooks

Know the moment something happens.

Coming soon. Every event will arrive as the same small envelope: an id, the event type, your site and the time. Member ids match the ones the API gives your app.

  • MembersSign-ups, approvals, removals and deletions
  • Photos and ID checksApproved or turned down, with the reason
  • Likes, matches and messagesReady to send as push notifications
  • Views and reactionsWho looked, and who reacted
  • PaymentsPayments taken, plans cancelled or restored
  • Your own messagesAnnouncements from your team to members

The full event list comes with the API reference, shared on request.

Changelog

Recent changes.

Oct 2026Priority messages

Pin a message to the top of the recipient’s inbox. Unread after seven days, the credit goes back.

Sep 2026Introductions

One message to up to 100 people, with candidates that exclude anyone already contacted.

Aug 2026Answer stats

“You agree on 7 of 9” between any two members who have answered shared questions.

Jul 2026Hosted web checkout

Card checkout for web apps, with you or us as merchant of record. You draw the paywall.

Savings and value estimate

What your platform costs you, in profit and value.

Loading the estimate…