scraper-api-com Tinder API

Tinder: 0 public endpoints, no account needed, plus 9 signed-in routes (login, logout, messages, account, search, profile, like, matches, challenge) behind an `x-session-id`.

Operations 10

POST /v1/tinder/login Open a Tinder session with the account's own credentials. #
POST /v1/tinder/logout Close a Tinder session and drop everything it stored. Free of charge #
GET /v1/tinder/messages Read the signed-in Tinder account's inbox, or one conversation in full when… #
POST /v1/tinder/messages Send a Tinder message: a reply into conversation_id, or a first contact on… #
GET /v1/tinder/account The signed-in Tinder account's own profile, or another member's when id is given #
GET /v1/tinder/profile One Tinder member's full profile, the detail page behind a search hit: photos… #
POST /v1/tinder/like Like, superlike or pass a Tinder member. #
GET /v1/tinder/matches The signed-in Tinder account's matches: the members who liked back, each with… #
POST /v1/tinder/challenge Ask Tinder to send the one-time login code. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scraper-api-com:scraper-api-com-tinder-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

scraper-api-com-tinder-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: scraper-api.com Tinder API
  version: 0.1.0
  description: 'Self-hosted social media scraping API — a drop-in replacement for scrapecreators.com.


    ## Authentication

    Every request must send your API key in the `x-api-key` header.


    ## Credits

    Billing is credit-based: **1 request = 1 credit** (some endpoints cost more — see each endpoint''s description). Credits are **non-expiring** — buy once, use whenever.


    Response bodies match the ScrapeCreators shapes so existing integrations work unchanged.'
  contact:
    name: Fabian Bitter
    email: fabian@bitter.de
servers:
- url: https://api.scraper-api.com
  description: Production
security:
- apiKeyAuth: []
tags:
- name: Tinder
  description: 'Tinder: 0 public endpoints, no account needed, plus 9 signed-in routes (login, logout, messages, account, search, profile, like, matches, challenge) behind an `x-session-id`.'
paths:
  /v1/tinder/login:
    post:
      tags:
      - Tinder
      summary: Open a Tinder session with the account's own credentials.
      operationId: tinder_v1_login
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters: []
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                session_id: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
                user_id: name@example.com
                expires_at: '2026-08-09T22:02:00.000Z'
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: The portal account's e-mail address, or its phone number in +49… form where the platform signs in with one.
                  example: name@example.com
                password:
                  type: string
                  description: The portal account's password, or the one-time code where the platform has no password.
                  example: •••••••••
                login_token:
                  type: string
                  description: The token the challenge route handed back, which binds the code to the attempt it was sent for. On a portal that only asks for a code when it does not recognise the sign-in, this carries that mailed code itself.
                  example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…
              required:
              - username
              - password
            example:
              username: name@example.com
              password: •••••••••
  /v1/tinder/logout:
    post:
      tags:
      - Tinder
      summary: Close a Tinder session and drop everything it stored. Free of charge
      operationId: tinder_v1_logout
      description: '**Live endpoint.** Free of charge.'
      security:
      - apiKeyAuth: []
      parameters:
      - name: x-session-id
        in: header
        required: true
        description: The session id returned by login. Sent as the x-session-id header.
        schema:
          type: string
          example: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example: null
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/tinder/messages:
    get:
      tags:
      - Tinder
      summary: Read the signed-in Tinder account's inbox, or one conversation in full when…
      operationId: tinder_v1_messages
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: x-session-id
        in: header
        required: true
        description: The session id returned by login. Sent as the x-session-id header.
        schema:
          type: string
          example: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
      - name: conversation_id
        in: query
        required: false
        description: One conversation of the inbox. Omit to list the inbox.
        schema:
          type: string
          example: '412778905'
      - name: limit
        in: query
        required: false
        description: How many members one page holds.
        schema:
          type: string
          example: '20'
      - name: cursor
        in: query
        required: false
        description: Continue after the previous page. Take it from `next_cursor` of the answer.
        schema:
          type: string
          example: eyJvZmZzZXQiOjIwfQ
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                success: true
                count: 1
                next_cursor: null
                conversations:
                - conversation_id: '412778905'
                  partner: Lea
                  partner_photo: https://…/1.jpg
                  last_message: Klingt gut, wann passt es dir?
                  last_message_at: '2026-08-08T18:24:00.000Z'
                  unread: true
                  unread_count: 1
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
    post:
      tags:
      - Tinder
      summary: 'Send a Tinder message: a reply into conversation_id, or a first contact on…'
      operationId: tinder_v1_messages_send
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: x-session-id
        in: header
        required: true
        description: The session id returned by login. Sent as the x-session-id header.
        schema:
          type: string
          example: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                success: true
                conversation_id: '412778905'
                data:
                  delivered: true
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: The message text.
                  example: Ist der Artikel noch verfuegbar?
                conversation_id:
                  type: string
                  description: One conversation of the inbox. Omit to list the inbox.
                  example: '412778905'
                user_id:
                  type: string
                  description: The other member's id on the platform.
                  example: '12345678'
              required:
              - message
            example:
              message: Ist der Artikel noch verfuegbar?
  /v1/tinder/account:
    get:
      tags:
      - Tinder
      summary: The signed-in Tinder account's own profile, or another member's when id is given
      operationId: tinder_v1_account
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: x-session-id
        in: header
        required: true
        description: The session id returned by login. Sent as the x-session-id header.
        schema:
          type: string
          example: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
      - name: id
        in: query
        required: false
        description: Another member's public id. Omit for the signed-in account's own profile.
        schema:
          type: string
          example: e63599e304f57gf2efi03735d45g21h6
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                success: true
                data:
                  id: '12345678'
                  name: Lea
                  age: 29
                  gender: female
                  city: Bochum
                  distance_km: 12
                  online: true
                  last_seen: '2026-08-09T09:12:00.000Z'
                  about: Ich koche gern und laufe noch lieber.
                  photos:
                  - https://…/1.jpg
                  - https://…/2.jpg
                  attributes:
                    height: '168'
                    smoker: 'no'
                    relationship: single
                  liked_by_me: false
                  likes_me: null
                  matched: false
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/tinder/search:
    get:
      tags:
      - Tinder
      summary: Search Tinder for other members, with the app's own filters (gender, age range…
      operationId: tinder_v1_search
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: x-session-id
        in: header
        required: true
        description: The session id returned by login. Sent as the x-session-id header.
        schema:
          type: string
          example: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
      - name: gender
        in: query
        required: false
        description: Which gender to look for. Tinder carries a fourth value of its own, beyond_binary.
        schema:
          type: string
          enum:
          - male
          - female
          - beyond_binary
          - any
      - name: min_age
        in: query
        required: false
        description: Youngest age to include.
        schema:
          type: string
          example: '25'
      - name: max_age
        in: query
        required: false
        description: Oldest age to include.
        schema:
          type: string
          example: '40'
      - name: distance
        in: query
        required: false
        description: Search radius in kilometres around the account's location.
        schema:
          type: string
          example: '50'
      - name: with_photo
        in: query
        required: false
        description: Only members who have at least one photo.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: min_photos
        in: query
        required: false
        description: Only members with at least this many photos.
        schema:
          type: string
          example: '3'
      - name: has_bio
        in: query
        required: false
        description: Only members who wrote an about text.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: photo_verified
        in: query
        required: false
        description: Only members whose selfie the platform verified.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: interests
        in: query
        required: false
        description: Only members who share at least one of these interests, under the platform's own names, comma separated. Case is ignored.
        schema:
          type: string
          example: Kaffee,Wandern
      - name: save_filters
        in: query
        required: false
        description: Write age range, radius and gender onto the ACCOUNT before searching, the way the app's own settings page does, so the platform itself filters instead of this API filtering the answer. It changes the account's discovery settings and they stay changed after the call.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: limit
        in: query
        required: false
        description: How many members one page holds.
        schema:
          type: string
          example: '20'
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                success: true
                count: 1
                next_cursor: null
                members:
                - id: '12345678'
                  name: Lea
                  age: 29
                  gender: female
                  distance_km: 12
                  online: true
                  city: Bochum
                  headline: Lieber ein Kaffee zu viel als ein Gespraech zu wenig.
                  photos:
                  - https://…/1.jpg
                  url: https://…/12345678
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/tinder/profile:
    get:
      tags:
      - Tinder
      summary: 'One Tinder member''s full profile, the detail page behind a search hit: photos…'
      operationId: tinder_v1_profile
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: x-session-id
        in: header
        required: true
        description: The session id returned by login. Sent as the x-session-id header.
        schema:
          type: string
          example: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
      - name: user_id
        in: query
        required: true
        description: The other member's id on the platform.
        schema:
          type: string
          example: '12345678'
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                success: true
                data:
                  id: '12345678'
                  name: Lea
                  age: 29
                  gender: female
                  city: Bochum
                  distance_km: 12
                  online: true
                  last_seen: '2026-08-09T09:12:00.000Z'
                  about: Ich koche gern und laufe noch lieber.
                  photos:
                  - https://…/1.jpg
                  - https://…/2.jpg
                  attributes:
                    height: '168'
                    smoker: 'no'
                    relationship: single
                  liked_by_me: false
                  likes_me: null
                  matched: false
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/tinder/like:
    post:
      tags:
      - Tinder
      summary: Like, superlike or pass a Tinder member.
      operationId: tinder_v1_like
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: x-session-id
        in: header
        required: true
        description: The session id returned by login. Sent as the x-session-id header.
        schema:
          type: string
          example: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                success: true
                user_id: '12345678'
                action: LIKE
                matched: false
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                  description: The other member's id on the platform.
                  example: '12345678'
                action:
                  type: string
                  description: What to do with that member. UNLIKE takes a like back where the platform allows it; PASS is the swipe-away.
                  enum:
                  - LIKE
                  - SUPERLIKE
                  - PASS
                  - UNLIKE
                message:
                  type: string
                  description: The message text.
                  example: Ist der Artikel noch verfuegbar?
              required:
              - user_id
            example:
              user_id: '12345678'
  /v1/tinder/matches:
    get:
      tags:
      - Tinder
      summary: 'The signed-in Tinder account''s matches: the members who liked back, each with…'
      operationId: tinder_v1_matches
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: x-session-id
        in: header
        required: true
        description: The session id returned by login. Sent as the x-session-id header.
        schema:
          type: string
          example: b6f0a1c2d3e4f5a6b7c8d9e0f1a2b3c4
      - name: with_messages
        in: query
        required: false
        description: Only the matches that already carry a conversation, or only the ones that do not.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: limit
        in: query
        required: false
        description: How many members one page holds.
        schema:
          type: string
          example: '20'
      - name: cursor
        in: query
        required: false
        description: Continue after the previous page. Take it from `next_cursor` of the answer.
        schema:
          type: string
          example: eyJvZmZzZXQiOjIwfQ
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                success: true
                count: 1
                next_cursor: null
                matches:
                - id: '77123'
                  user_id: '12345678'
                  name: Lea
                  photo: https://…/1.jpg
                  matched_at: '2026-08-08T21:03:00.000Z'
                  conversation_id: '77123'
                  unread: true
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/tinder/challenge:
    post:
      tags:
      - Tinder
      summary: Ask Tinder to send the one-time login code.
      operationId: tinder_v1_challenge
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters: []
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                success: true
                channel: sms
                login_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…
                code_length: 6
                sent: true
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: The portal account's e-mail address, or its phone number in +49… form where the platform signs in with one.
                  example: name@example.com
                login_token:
                  type: string
                  description: The token the challenge route handed back, which binds the code to the attempt it was sent for. On a portal that only asks for a code when it does not recognise the sign-in, this carries that mailed code itself.
                  example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…
                captcha_token:
                  type: string
                  description: reCAPTCHA token, where the portal's form demands one.
                  example: 03AGdBq26…
                captcha_reference:
                  type: string
                  description: The reference the portal issued together with that bot check. Tinder verifies the solved token against it, so a token without it is never checked.
                  example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9…
              required:
              - username
            example:
              username: name@example.com
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your scraper-api.com API key.
x-tagGroups:
- name: Platforms
  tags:
  - Instagram
  - TikTok
  - YouTube
  - Facebook
  - LinkedIn
  - Twitter
  - Spotify
  - Apple Music
  - Kleinanzeigen
  - Quoka
  - markt.de
  - mobile.de
  - '11880'
  - Gelbe Seiten
  - ImmobilienScout24
  - immowelt
  - WG-Gesucht
  - Bayut
  - LOVOO
  - Jaumo
  - Tinder
  - Bumble
  - Snapchat
  - Google
  - Arbeitsagentur
  - Ausbildung.de
  - meinestadt.de