InkRadar Tattoo Studio Scraper · City & Catalogue avatar

InkRadar Tattoo Studio Scraper · City & Catalogue

Pricing

from $0.90 / 1,000 results

Go to Apify Store
InkRadar Tattoo Studio Scraper · City & Catalogue

InkRadar Tattoo Studio Scraper · City & Catalogue

Export tattoo studios from InkRadar — names, phones, bios, profile URLs, optional emails from pro websites. Pick a city, full catalogue, or France only. Export-ready rows. No login.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

InkRadar Studio Scraper

Export tattoo studios from InkRadar in one dataset — names, phones, bios, profile links, and optional email or social from each studio’s own website. No login. No manual copy-paste.

Stop clicking through InkRadar studio by studio. Pick a city, export the full directory (~13,750 studios), or France only (~4,200). Download JSON, CSV, or Excel from the Apify Dataset tab.

No login. No InkRadar account. No API key.

Important: Data comes from InkRadar’s public directory. Phones, email, and social links appear only when InkRadar or the studio published them. Respect InkRadar terms and GDPR when storing contact data.


Who is this for?

Use this Actor when you need a structured list of tattoo studios in Western Europe — not one profile at a time.

You are…Typical goalSuggested setup
B2B supplier or distributor (ink, needles, machines, aftercare, furniture)Build a prospect list of studios by region for sales or field repsNear a city around your territory, or France only / Full catalogue for national coverage
Booking or SaaS vendor (appointment software, POS, CRM for salons)Map the tattoo market, prioritize cities with density, feed a CRM or outbound toolFull catalogue or France only; filter in Excel/Sheets by country_code and coordinates
Marketing or growth agencyLocal SEO audits, Meta/Google prospecting lists, competitor mapping for a client opening a studioNear a city + cap for a pilot; contact fill ON when you need Instagram or email for outreach
Outbound / SDR team (Lemlist, HubSpot, Apollo-style workflows)Phone-first cold calls or multi-channel sequencesStart with France only (~74% rows have a phone on directory data); turn contact fill ON for missing email/social from studio sites
Market research or investmentSize the tattoo studio footprint in FR/BE/NL/ES, heatmaps, white-space analysisFull catalogue, maxItems: 0; use latitude / longitude for GIS
Franchise, chain, or multi-site operatorFind independent studios before partnership or acquisition scouting in a radiusNear a city on target metros (Paris, Lyon, Brussels, Amsterdam, Barcelona…)
Data / ops teamKeep a master studio table synced on a scheduleFull catalogue or France only on a weekly Schedule; merge on studio_id

What you usually get without extra work: studio name, address, map coordinates, InkRadar profile URL, and often a phone number on French rows.

When to turn contact fill on: you run outbound and need email or Instagram that InkRadar did not store on the listing — the Actor visits each studio’s own website (not the InkRadar page) to backfill gaps.

Need a custom export, CRM webhook, or filtered pipeline? corentin@outreacher.fr


What does it extract?

CategoryFields
Identityname, handle, studio_id, profile_url
Locationcity, country_code, address, latitude, longitude
Contactphone, email, instagram, website, facebook, tiktok
Profilebio, bio_short, claimed, verified_at, logo_url, cover_url
Enrichmentemail_from_website, instagram_from_website, facebook_from_website, website_enrichment_status (when contact fill is ON)
Metascraped_at

Fields not published on InkRadar are returned as null.

Typical fill rates (France export)

InkRadar’s bulk directory is mostly unclaimed studio listings. On a full France run (~4,200 rows), expect roughly:

FieldCoverageNotes
name, address, profile_url, coordinates~100%From InkRadar’s public directory
phone~74%When the studio published a phone number
bio~4%Short description when provided
city~0%InkRadar often leaves city empty for imported FR rows
instagram, website, facebook, tiktok, email~0% FRMore common on claimed owner profiles

Turn on Fill missing email & social from studio website to crawl each studio’s business site (~3,800 sites on a full catalogue run) and backfill missing contact columns.


Quick start (~2 minutes)

  1. Open the Actor Input tab on Apify.
  2. Under Step 1, choose Near a city, Full catalogue, or France only.
  3. For local search, pick a City in Step 2.
  4. Set Maximum studios to 30 for a quick test, or 0 for a full export.
  5. Click Start.
  6. Open Dataset when the run finishes — use the Overview view for a quick table, or Full export for every column.

Input examples

Near Paris, 200 km, quick preview:

{
"coverageMode": "local_radius",
"nearCity": "Paris",
"distanceKm": 200,
"maxItems": 30
}

Full catalogue export:

{
"coverageMode": "worldwide_major_cities",
"maxItems": 0
}

Full catalogue with contact fill from studio websites:

{
"coverageMode": "worldwide_major_cities",
"maxItems": 0,
"websiteEnrichment": true,
"websiteEnrichmentMaxPages": 2
}

France only:

{
"coverageMode": "france_major_cities",
"maxItems": 0
}

All input parameters

ParameterTypeDefaultDescription
coverageModeString"local_radius""local_radius", "worldwide_major_cities", or "france_major_cities"
nearCityString"Paris"City centre (local mode only)
maxItemsInteger30Max rows; 0 = no cap
websiteEnrichmentBooleanfalseVisit studio business websites for missing email / social

API-only (see code defaults): websiteEnrichmentMaxPages (default 2), distanceKm (default 200 km for local search), searchQuery, latitude, longitude, tileConcurrency, tileStepKm, rpcLimit, detailConcurrency, websiteEnrichmentConcurrency, verboseLogs.


Output example

{
"studio_id": "d93172d5-4884-fb25-4a1e-5a18e6701b2d",
"name": "Black Vault Tattoo Co.",
"handle": "black_vault_tattoo_co_d93172d5",
"profile_url": "https://www.inkradar.eu/studio/black_vault_tattoo_co_d93172d5",
"city": null,
"country_code": "BE",
"address": "Westelsebaan 121",
"latitude": 51.0281346,
"longitude": 4.9818038,
"phone": "+32 471 45 66 78",
"instagram": null,
"website": null,
"bio": null,
"claimed": true,
"verified_at": null,
"scraped_at": "2026-05-28T14:00:00.000Z"
}

Download from the Dataset tab in JSON, CSV, Excel, or HTML. The Run log link in the output panel shows timestamped progress.


How it works

  1. Catalogue or search — Full catalogue and France modes load every matching studio from InkRadar’s live directory. Local mode scans map areas around your city and deduplicates.
  2. Profile details — Local search loads full contact fields per studio from InkRadar.
  3. Contact fill (optional) — When enabled, visits each studio’s own website (not the InkRadar profile) for missing email, Instagram, or Facebook.
  4. Export — One row per studio in the Dataset. On Apify Cloud, rows appear as they are exported. Locally, output.csv is also written at the project root.

Performance and cost

ScenarioStudios (typ.)Time (est.)
Paris, 30 cap30~30–60 s
Paris, 200 km, no cap500–2,000+2–5 min
Full catalogue~13,978 (live)~30–90 s
Full catalogue + contact fill~13,978 + ~3,800 sites~5–15 min
France only~4,246 (live)~15–30 s

Cost follows Apify compute-unit pricing. This Actor uses HTTP only (1024 MB RAM default) — no browser.


Limitations

  • InkRadar returns at most 1,000 studios per map area; large radii use multiple search areas automatically.
  • Phone and social links appear only when published on InkRadar or found on the studio website.
  • France only filters to French studios. Full catalogue includes BE, NL, ES, and French overseas territories.
  • InkRadar’s directory is concentrated in Western Europe (France, Belgium, Netherlands, Spain).

FAQ

Do I need an InkRadar account? No — only public directory data is collected.

Does full catalogue include Belgium and Spain? Yes — all countries present on InkRadar.

Does France only include Belgium or Spain? No — use Full catalogue for those.

Why fewer rows than on the website map? Set maxItems to 0 and use Full catalogue or a large enough radius.

Where is my CSV on Apify? On Apify Cloud, use the Dataset Export button. Local runs also write output.csv at the project root.


Local development

Default input matches the Console Try: Paris, 30 studios, ~1 min. Use npm run start:worldwide (etc.) for full exports.

Locally, Apify reads storage/key_value_stores/default/INPUT.json first — it overrides root input.json when keys conflict.

cd inkradar-scraper
npm install
# Default — Paris preview (same as Console)
npm start
# Full catalogue
npm run start:worldwide
# Full catalogue + contact fill (~4k sites, ~5–15 min)
npm run start:worldwide:enriched
# France only (~4.2k rows)
npm run start:france
npm test

After each local run, the Actor writes output.csv at the project root (UTF-8 with BOM for Excel). Empty columns are omitted. Regenerate without re-scraping:

$npm run export-csv

storage/key_value_stores/default/INPUT.json must satisfy required schema fields. Use apify run --input-file=./input.json to validate against a specific file.


Support

Questions or custom automation: corentin@outreacher.fr

Pick Full catalogue, France only, or a city, set your limit, and click Start.