Tattoo Artist Directory Scraper - Tattoodo.com avatar

Tattoo Artist Directory Scraper - Tattoodo.com

Pricing

Pay per event

Go to Apify Store
Tattoo Artist Directory Scraper - Tattoodo.com

Tattoo Artist Directory Scraper - Tattoodo.com

Scrape verified tattoo-artist profiles from Tattoodo.com — the global tattoo directory. Returns artist name, studio location, hourly and minimum rates, primary and secondary styles, ratings, biography, social links, and geo coordinates. Filter by country, style, or booking availability.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Tattoodo Tattoo Artist Directory Scraper

Scrape verified tattoo-artist profiles from Tattoodo — the global tattoo discovery platform. Returns artist name, studio name and address, primary and secondary tattoo styles, hourly and minimum rates, ratings, review counts, biography, social links, geo-coordinates, and ~25 other fields per profile.

The actor walks Tattoodo's public partners sitemap (~1,600 verified artists across the US, UK, EU, LATAM, and APAC), fetches each profile, and extracts structured data from the page's embedded state blob with JSON-LD as a fallback. No proxy. No browser. Server-rendered HTML, parsed once per artist.


Tattoodo Scraper Features

  • Returns artist name, username, studio name, full address, city, country, and timezone
  • Extracts primary and secondary tattoo styles — Black & Gray, Realism, Traditional, Neo Traditional, Blackwork, Fineline, Watercolor, Japanese, Dotwork, Geometric, Lettering, and a long tail
  • Captures hourly rate, minimum charge, daily rate, and Tattoodo's symbolic price tier ($–$$$$)
  • Returns review count, average rating (0–5), portfolio size, and verification level
  • Surfaces booking availability — whether the artist takes bookings through Tattoodo and their typical response time
  • Parses Instagram, TikTok, and personal-website links from the artist's social block
  • Filters by country code, by style slug, or by bookable-only artists
  • Sitemap-driven discovery. The actor finds every verified artist in the public directory, then narrows to the slice you asked for.
  • No proxy required. Runs at eight concurrent requests against CloudFront-fronted HTML.

Who Uses Tattoo Artist Data?

  • Booking-software vendors (Booksy, Squire, GlossGenius) — build outbound lists of bookable artists segmented by country and price tier.
  • Tattoo-supply wholesalers (Eternal Ink, FK Irons, Electrum) — qualify shops by hourly rate as a proxy for premium-supply purchase intent.
  • Specialty insurance brokers — source verified artists for outreach on shop and apprenticeship coverage.
  • Apprenticeship programs and trade schools — find established artists by region and style for partnership and referral programs.
  • Payment processors — target the long tail of independent artists who accept bookings online and need card processing built for the trade.
  • Travel and tourism platforms — assemble curated artist directories by city for tattoo-tourism content.

How the Tattoodo Scraper Works

  1. The actor fetches Tattoodo's sitemap index and pulls the partners sitemap, which lists every verified artist profile URL.
  2. URLs are deterministically shuffled and sliced down to a target count. When filters are tight, the actor over-collects so enough records survive after the country, style, or bookable filter is applied.
  3. Each profile page is fetched once. The actor parses the embedded state blob, falls back to the JSON-LD block when the blob is missing, and writes one cleaned record per artist.
  4. The run stops as soon as maxItems is hit. No babysitting, no manual pagination.

Tattoodo Scraper Input

FieldTypeDefaultDescription
maxItemsinteger10Maximum number of artist profiles to return. The verified-artist directory has ~1,600 records — set higher for fuller harvests.
countriesarray[]ISO 3166-1 alpha-2 country codes to keep (e.g. ["US", "GB", "DE"]). Empty = all countries.
stylesarray[]Tattoo styles to keep (case-insensitive substring match against style slugs and labels). Empty = all styles.
bookableOnlybooleanfalseWhen true, returns only artists who accept bookings through Tattoodo.

Input Examples

Default — first 10 verified artists, no filters:

{
"maxItems": 10
}

US-based artists, bookable only:

{
"countries": ["US"],
"bookableOnly": true,
"maxItems": 100
}

Realism specialists across the UK and Germany:

{
"countries": ["GB", "DE"],
"styles": ["realism"],
"maxItems": 50
}

Full harvest of every verified artist:

{
"maxItems": 2000
}

Tattoodo Scraper Output Fields

{
"shopOrArtistName": "Ben Twentyman",
"username": "ben_tattoos",
"kind": "artist",
"biography": "Meet Ben, a tattoo artist based in Manchester with a passion for tattooing animals, florals, anything nerdy...",
"verificationLevel": 3,
"primaryStyles": "Black & Gray",
"secondaryStyles": "Dotwork, Anime, Neo Traditional, Floral, New School, Blackwork, Fineline, Realism",
"specialties": null,
"features": null,
"hourlyRate": "90 GBP",
"minimumRate": "60 GBP",
"dailyRate": null,
"priceTier": "£",
"portfolioSize": 208,
"reviewCount": 95,
"reviewAverage": 5,
"bookingsAllowed": true,
"availability": "Next week",
"responseTime": "2 days",
"shopName": "116",
"address": "15 pollard yard east, Manchester, Manchester",
"city": "Manchester",
"country": "GB",
"timezone": "Europe/London",
"phone": null,
"latitude": 53.4848325,
"longitude": -2.2135438,
"socialLinks": null,
"instagram": null,
"tiktok": null,
"website": null,
"imageUrl": "https://d1kq2dqeox7x40.cloudfront.net/images/profile-images/2cc3058c-b2f0-44a8-b033-90878f49b9c4.jpeg",
"profileUrl": "https://www.tattoodo.com/artists/ben_tattoos",
"scrapedAt": "2026-05-01T23:14:59.978Z"
}
FieldTypeDescription
shopOrArtistNamestringDisplay name of the artist
usernamestringTattoodo username slug used in the canonical profile URL
kindstringRecord type — currently always artist. Tattoodo's studio endpoint redirects, so the public directory is artists-only.
biographystringArtist biography / about-me text
verificationLevelintegerTattoodo's verification tier (0–3). Verified artists have demonstrated professional experience and safety standards.
primaryStylesstringComma-separated primary tattoo styles
secondaryStylesstringComma-separated secondary tattoo styles
specialtiesstringComma-separated specialties listed by the artist (often empty)
featuresstringComma-separated artist features (e.g. Cover-ups, Vegan Ink, Experience tattooing darker skin)
hourlyRatestringHourly rate as a currency-tagged string (e.g. $120, 90 GBP). Empty when not disclosed.
minimumRatestringMinimum charge per session as a currency-tagged string
dailyRatestringDaily rate as a currency-tagged string. Often empty.
priceTierstringSymbolic price tier — $, $$, $$$, or $$$$
portfolioSizeintegerNumber of portfolio pieces on the artist's profile
reviewCountintegerNumber of reviews backing the rating
reviewAveragenumberAverage review score on a 0–5 scale
bookingsAllowedbooleanWhether the artist accepts bookings through Tattoodo
availabilitystringEarliest availability hint (e.g. Next week, 3-6 months)
responseTimestringTypical response-time hint (e.g. 2 days, a few hours)
shopNamestringName of the studio the artist works out of
addressstringStreet address of the primary studio
citystringCity of the primary studio
countrystringISO 3166-1 alpha-2 country code. Falls back to a timezone lookup when the source field is empty.
timezonestringIANA timezone of the primary studio (e.g. Europe/London)
phonestringStudio phone number, when published
latitudenumberPrimary-studio latitude
longitudenumberPrimary-studio longitude
socialLinksstringComma-separated social-media URLs
instagramstringInstagram handle parsed from social links
tiktokstringTikTok handle parsed from social links
websitestringPersonal or studio website URL parsed from social links
imageUrlstringProfile image URL
profileUrlstringCanonical Tattoodo profile URL
scrapedAtstringISO timestamp when the record was scraped

FAQ

How do I scrape tattoo artists from Tattoodo?

Tattoodo Scraper handles it. Set maxItems, optionally add a country or style filter, and run. The actor pulls the public partners sitemap, fetches each profile, and writes structured JSON. No login, no proxy, no manual pagination.

How much does Tattoodo Scraper cost to run?

Tattoodo Scraper uses pay-per-event pricing. $0.10 per actor start plus $0.001 per record returned. A 1,000-record harvest costs about $1.10, which is less than most people spend on coffee while waiting for slower scrapers to finish.

What data can I get from a Tattoodo profile?

Tattoodo Scraper returns about 30 fields per artist — name, studio, address with lat/long, primary and secondary styles, hourly and minimum rates, price tier, ratings, review count, portfolio size, biography, booking availability, response time, social handles when published, and the canonical profile URL. The full schema is documented in the table above.

Can I filter by tattoo style or country?

Tattoodo Scraper supports both. Pass an array of country codes (["US", "GB"]), style slugs (["realism", "blackwork"]), or both. Filters are applied after extraction so style matching covers primary and secondary styles together.

Does Tattoodo Scraper need proxies?

Tattoodo Scraper does not need proxies. Tattoodo serves its profile pages from CloudFront with no Cloudflare WAF or CAPTCHA on the artist directory, so the scraper runs cleanly with default headers.

How fresh is the data?

Tattoodo Scraper pulls live HTML on every run. The sitemap's lastmod updates daily, and profile data — rates, availability, styles — reflects whatever the artist last edited.


Need More Features?

Need additional fields, a different source, or a custom filter? File an issue or get in touch.

Why Use Tattoodo Scraper?

  • Affordable — $0.001 per record. A 1,600-artist full harvest comes out to under $2.
  • Clean output — every record carries the same ~30 fields with consistent types, normalized country codes, and a timezone-derived country fallback for entries Tattoodo left blank. Less data cleanup, more analysis.
  • Filter-first design — country, style, and bookable-only filters apply post-extraction, so a tight filter still returns the slice you asked for without you scraping the whole directory by hand.