Tinder Phone Number Scraper
Pricing
from $2.99 / 1,000 results
Tinder Phone Number Scraper
Tinder Phone Number Scraper collects publicly surfaced phone numbers by keyword, location and country, returning platform, title, description, URL and dial code. β οΈ Dating-profile data carries GDPR exposure - confirm lawful basis first.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Hub
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
π± Tinder Phone Number Scraper β Public Profile Contact Data & E.164 Number Extraction
The Tinder Phone Number Scraper collects publicly indexed Tinder profile pages that contain phone numbers and returns them as structured records β the number in E.164 format, the country and dial code it belongs to, the page title and description it came from, and the source URL. It works by searching public web indexes for Tinder pages matching your keywords and dial code, then parsing and normalising any phone numbers found in the visible result text.
This is a narrow, factual tool. It does not log into Tinder, does not read private profiles, and does not access the Tinder app or its API. It surfaces information that has already been published and indexed publicly. Because the output is personal data by definition, read the disclaimer at the end of this page before you run it β the legal responsibility for what you collect and what you do with it sits entirely with you.
π What Data Can You Extract with This Tinder Phone Number Scraper?
Each record represents one unique phone number found on one indexed page. The eight output fields group as follows.
| Category | Fields | What it gives you |
|---|---|---|
| βοΈ Phone data | phone_number | The extracted number, normalised to E.164 international format |
| π Country context | country, dial_code | The country the search targeted and the international dial code used |
| π Source page | url, title | The page the number was found on and its indexed title |
| π Surrounding text | description | The visible text snippet the number appeared in |
| π·οΈ Provenance | platform, keyword | The platform the record came from and the keyword that produced it |
The phone_number field is the reason the actor exists, and its value is that it is already normalised. Numbers appear on pages in every conceivable format β with spaces, dashes, brackets, leading zeros or no country code at all. Returning them in E.164 means every record is directly comparable, deduplicated correctly, and ready for any system that expects a canonical international number.
π Key Features of the Tinder Phone Number Scraper
| Feature | Description |
|---|---|
| π€ Multi-keyword input | Supply a list of keywords; each is turned into its own search and processed in sequence |
| π Country-aware searching | Choose a country and the scraper applies the matching international dial code to the search and to number parsing |
| π Optional location narrowing | Add a location string to constrain results to pages mentioning that place |
| π E.164 normalisation | Numbers are parsed and normalised to canonical international format rather than returned as raw text |
| π Automatic deduplication | Numbers already seen in the run are skipped, so each record is a distinct number |
| πΎ Resumable progress | The run stores its keyword cursor and the set of numbers already found, so an interrupted run resumes rather than restarting |
| ποΈ Result cap | An optional maximum stops the run once you have collected as many numbers as you need |
| π€ Incremental output | Records are pushed to the dataset as they are found, so partial results are available even if a run is stopped early |
| π Automatic proxy rotation | Search requests are routed through rotating proxies automatically; no proxy configuration is required |
π Why Choose This Tinder Phone Number Scraper?
Numbers arrive in a usable format. Raw scraped text is close to worthless for phone data β the same number can appear five different ways on five different pages. Normalising to E.164 in phone_number means deduplication actually works and the output can be joined against other datasets without a cleanup pass.
Every record keeps its evidence. url, title and description are stored alongside the number, so you can always trace where a value came from and verify it yourself. That matters for any use case where you need to justify or audit the data you hold.
Runs are resumable, not fragile. The scraper checkpoints its keyword cursor and the set of numbers already seen. If a long run is interrupted, restarting continues from where it stopped instead of re-collecting everything.
Country handling is explicit. Selecting a country sets both the dial code used in the search and the region used when parsing numbers, so you get consistent, correctly-attributed results rather than a mixed international jumble.
π₯ Input
{"keywords": ["John", "Sarah"],"location": "London","country": "United Kingdom (+44)","maxPhoneNumbers": 100}
π§ Tinder Phone Number Scraper Input Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keywords | array | No | ["John"] | Keyword strings to search for. Each keyword is processed as a separate search |
location | string | No | "" | Optional location term added to the search to narrow results geographically |
country | string | No | "United Kingdom (+44)" | Country to target. Determines the international dial code applied to the search and to number parsing |
maxPhoneNumbers | integer | No | unlimited | Maximum number of unique phone numbers to collect before the run stops |
The country value is supplied in the form Country Name (+code) and covers a wide list of countries with their international dial codes. The scraper splits the name from the code and uses both.
π‘ Input Examples
Small validation run
{"keywords": ["Emma"],"country": "United Kingdom (+44)","maxPhoneNumbers": 25}
Multiple keywords, no location filter
{"keywords": ["Alex", "Jordan", "Sam"],"country": "Canada (+1)","maxPhoneNumbers": 200}
Location-narrowed search
{"keywords": ["Maria"],"location": "Barcelona","country": "Spain (+34)","maxPhoneNumbers": 50}
π€ Output
A representative record built from the actual output fields:
{"platform": "Tinder","keyword": "Emma","title": "Emma, 27 β Tinder profile","description": "Emma, 27. London. Message me on whatsapp +44 7700 900123 ...","url": "https://tinder.com/@example-profile","phone_number": "+447700900123","country": "United Kingdom","dial_code": "+44"}
π§Ύ Tinder Phone Number Output Fields
| Field | Type | Description |
|---|---|---|
platform | string | Platform the item came from |
keyword | string | Keyword that produced this item |
title | string | Title of the indexed page the number was found on |
description | string | Long-form description text surrounding the number |
url | string | Canonical URL of the scraped item |
phone_number | string | Phone number found for the item, normalised to E.164 |
country | string | Country targeted by the search |
dial_code | string | International dial code used |
π» How to Use the Tinder Phone Number Scraper (Step by Step)
Step 1: Confirm you have a lawful basis
Before configuring anything, be clear about why you are collecting this data and under what legal basis. Phone numbers tied to dating profiles are sensitive personal data in most jurisdictions, and unsolicited contact based on scraped numbers is restricted or prohibited in many of them. The most defensible uses are narrow β verification, security research, or investigating misuse of your own platform. If you cannot articulate a lawful basis, do not run the scraper.
Step 2: Choose your keywords
keywords accepts a list of strings and defaults to ["John"]. Each keyword becomes its own search, processed one after another, and every resulting record carries the keyword that produced it in the keyword field. Keep the list short at first β one or two keywords is enough to see what the output looks like before committing to a longer job.
Step 3: Select the country
country defaults to "United Kingdom (+44)" and is supplied in the Country Name (+code) format. This does two things: it inserts the dial code into the search so that pages containing numbers from that country are more likely to match, and it sets the region used when parsing and normalising numbers into E.164. Getting this wrong is the most common cause of an empty run, because a mismatched dial code will simply not appear on the pages you are looking for.
Step 4: Add a location if you need one
location is optional and defaults to empty. When you provide a value it is appended to the search as an additional constraint, so only pages mentioning that place are considered. This narrows results significantly β useful when you need geographic precision, counterproductive when you are trying to establish whether a keyword returns anything at all.
Step 5: Set a result cap
maxPhoneNumbers limits how many unique numbers the run collects before stopping. Leave it unset for an uncapped run, or set a specific number when you only need a sample. Because numbers are deduplicated as they are found, the cap counts distinct numbers rather than total pages processed.
Step 6: Run and watch the log
Start the run. The log announces each keyword as it begins, prints a line for every number found and pushed, and reports the running total. If the scraper collects fewer numbers than your target, it says so explicitly at the end rather than finishing silently β that message is your signal to broaden the keyword list or drop the location filter.
Step 7: Review and handle the output responsibly
Open the Dataset tab to see the collected records. Each row pairs a normalised phone_number with the url, title and description it came from, so you can verify any value against its source. Whatever you export, apply the same care you would to any personal data set: restrict access, set a retention limit, and delete it when the purpose you collected it for has been served.
π API Access & Integrations
Run the Tinder phone number scraper over HTTP and get the dataset items back in the same call:
curl -X POST "https://api.apify.com/v2/acts/scrapers-hub~tinder-phone-number-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": ["Emma"],"location": "London","country": "United Kingdom (+44)","maxPhoneNumbers": 50}'
With the Python client:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("scrapers-hub/tinder-phone-number-scraper").call(run_input={"keywords": ["Alex", "Jordan"],"country": "Canada (+1)","maxPhoneNumbers": 100,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["phone_number"], item["dial_code"], item["keyword"])print(" source:", item["url"])
Results can also be routed into Zapier, Make, Google Sheets or Slack, or delivered to your own endpoint using an Apify webhook on run completion.
π‘ Best Use Cases for This Phone Number Data
π‘οΈ Platform Trust and Safety Investigation
Trust and safety teams investigating scam networks often need to know which contact numbers are being circulated across dating platforms. Grouping records by phone_number and inspecting the associated url and description values shows whether a single number appears across many profiles β a strong signal of coordinated inauthentic behaviour.
π Fraud and Scam Pattern Research
Researchers studying romance fraud can use the combination of keyword, country and dial_code to map which regions and name patterns a scam campaign targets. Because description preserves the surrounding text, you can also study the scripted language used to move conversations off-platform.
π§Ύ Exposure Auditing for Your Own Data
Individuals and organisations sometimes need to know whether a number they control has been published on public dating-related pages. Running a narrow search and checking whether a specific number appears in the results, along with the url that exposed it, is a legitimate self-audit use.
π Public Data Exposure Studies
Academic and policy researchers studying how much personal contact data leaks into public web indexes can use aggregate counts by country and dial_code β without retaining the numbers themselves β to quantify exposure across regions. Aggregate-only retention is the privacy-safest way to work with this output.
π΅οΈ Investigative Journalism and OSINT
Journalists verifying claims about a network or an individual sometimes need to establish whether a contact number appears in publicly indexed material. url, title and description provide the citable evidence trail that a bare number would not.
π§ͺ Search-Index Coverage Testing
Security and privacy teams can use the actor to test how effectively removal requests have worked. If a page was supposed to be delisted, re-running a targeted search and checking whether the corresponding url still surfaces is a direct way to confirm.
βοΈ Tips for Better Phone Number Scraping Results
- Match the country to the numbers you expect. The dial code from
countryis used in the search itself. A mismatched country is the most common reason a run returns nothing at all. - Start without a
locationfilter. Adding a location narrows results sharply. Establish that a keyword returns anything first, then add the location to refine. - Use several keywords rather than one broad term. Each keyword runs as its own search, and the
keywordfield keeps them separable in the output, so there is no downside to running a handful. - Set
maxPhoneNumbersdeliberately. An uncapped run can search for a long time. A cap gives you a predictable stopping point and a sample you can evaluate before scaling up. - Let interrupted runs resume. Progress is checkpointed, so restarting continues from the stored cursor rather than re-collecting from scratch. Do not clear state unless you intend a fresh run.
- Verify before you act on any number. Always check
urlanddescriptionbefore treating a value as accurate. Numbers extracted from page text can be typos, examples or unrelated to the profile they appear beside.
π οΈ Troubleshooting
The run finished with zero numbers.
The most likely cause is a country mismatch β the dial code from country is part of the search, so it must correspond to the numbers you expect to find. After that, check whether a location value is over-narrowing the search, and try a broader or more common keyword.
I collected far fewer numbers than maxPhoneNumbers.
The scraper logs this explicitly when the run ends below target. It means the available indexed pages for your keyword, country and location combination were exhausted. Add more keywords or remove the location constraint.
The same number appears with different keywords. Deduplication is applied per run using the E.164 value, so a number should appear once. If you see near-duplicates, check whether they are genuinely different numbers that only look similar once normalised.
A number in the output is clearly not a real contact.
The extractor pulls numbers from visible page text, which can include example numbers, unrelated digits or misparsed strings. The description and url fields exist precisely so you can verify. Treat unverified numbers as leads, not facts.
My results were capped unexpectedly. Free Apify plans are limited to a maximum of 100 phone numbers per run. The log states clearly when this limit has been applied and what the originally requested limit was.
β Frequently Asked Questions About Tinder Phone Number Scraping
What does the Tinder Phone Number Scraper actually do? It searches publicly indexed pages for Tinder-related content matching your keywords and country dial code, extracts any phone numbers present in the visible text, normalises them to E.164, and writes them to a dataset alongside the source URL, title and description.
Does it log into Tinder or use the Tinder app? No. It does not authenticate, does not use the Tinder app or its API, and does not access private profiles, matches or messages. It only reads publicly indexed page content.
Where do the phone numbers come from? From the visible text of publicly indexed pages β typically numbers that people have themselves published in profile text or that have been reproduced on public pages. Nothing is taken from a private source.
What format are the phone numbers returned in?
E.164 international format, for example +447700900123. This makes deduplication reliable and lets the output be joined against other systems without reformatting.
Can I search for numbers in a specific country?
Yes. The country field takes a value like Spain (+34) and applies the matching dial code to both the search and number parsing. A broad list of countries and dial codes is supported.
Can I narrow results to a city or region?
Yes, using the optional location field. It adds the location term to the search, which constrains results to pages mentioning that place.
How many phone numbers can I collect in one run?
Set maxPhoneNumbers to whatever you need, or leave it unset for an uncapped run. Free Apify plans are limited to 100 numbers per run; paid plans are not subject to that restriction.
Are duplicate numbers removed? Yes. The scraper tracks numbers already seen within a run and skips repeats, so each dataset row is a distinct number.
What happens if my run is interrupted? Progress is checkpointed β both the keyword cursor and the set of numbers already found are stored β so restarting resumes from where the run stopped rather than beginning again.
Do I need to set up a proxy? No. Proxy rotation for the search requests is handled automatically inside the actor, so there is no proxy field for you to configure.
Is scraping phone numbers from public pages legal? It depends entirely on your jurisdiction, your purpose and what you do next. The data is publicly accessible, but publicly accessible does not mean unrestricted β phone numbers are personal data under GDPR and similar laws, and using them for unsolicited contact is separately regulated. Take your own legal advice.
Can I use these numbers for marketing or cold outreach? You should not. Contacting individuals on the basis of scraped dating-profile numbers is very likely to breach privacy, anti-spam and telecommunications regulations in most jurisdictions, and it is not a use this actor is intended for.
Why is the description field useful?
It preserves the text the number appeared in, which is your only way to judge whether the extraction is meaningful. It is also what makes scam-pattern research possible, since the surrounding language is often more revealing than the number itself.
How do I export the results?
Use the Apify Console dataset export (JSON, CSV, Excel, XML) or call run-sync-get-dataset-items via the API to receive the items directly in the response.
How should I store and retain this data? Treat it as sensitive personal data. Restrict access to those who need it, define a retention period tied to your stated purpose, and delete it when that purpose ends. Do not redistribute it.
π Support & Feedback
If you hit a bug or an unexpected result, open a ticket in the Issues tab on the actor page and include the run ID and the input you used so the case can be reproduced.
For custom work β a different search strategy, additional fields, or an integration with your investigation tooling β email scraperhubapi@gmail.com with your requirements.
If the actor works well for your use case, a rating and a short review on the actor page is appreciated and helps guide future improvements.
βοΈ Disclaimer
This Tinder phone number scraper reads only publicly indexed, publicly accessible page content. It does not authenticate to Tinder, does not access private profiles, matches or messages, and does not bypass any access control.
You are entirely responsible for how you use this actor and the data it produces. That includes compliance with the terms of service of Tinder and of any search or indexing service involved, and with all applicable law in your jurisdiction and your subjects' jurisdictions.
Phone numbers, names and profile text are personal data under GDPR, CCPA and comparable privacy regimes, and dating-platform data attracts heightened sensitivity. If you collect this output you are the data controller: you must have a lawful basis, you must minimise what you retain, you must secure it, and you must honour access and erasure requests. Using scraped numbers for unsolicited marketing, harassment, stalking, doxxing or any form of contact the individual has not agreed to is unlawful in most jurisdictions and is not a supported use of this actor. Do not use this data to identify, contact, profile or target individuals without a clear legal basis.
If you believe data collected through this actor should be removed, contact scraperhubapi@gmail.com with the details and the request will be actioned.