OrbTop

Tattoo Artist Directory Scraper - Tattoodo.com

LEAD GENERATIONBUSINESSOTHER

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

Field Type Default Description
maxItems integer 10 Maximum number of artist profiles to return. The verified-artist directory has ~1,600 records — set higher for fuller harvests.
countries array [] ISO 3166-1 alpha-2 country codes to keep (e.g. ["US", "GB", "DE"]). Empty = all countries.
styles array [] Tattoo styles to keep (case-insensitive substring match against style slugs and labels). Empty = all styles.
bookableOnly boolean false When 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"
}
Field Type Description
shopOrArtistName string Display name of the artist
username string Tattoodo username slug used in the canonical profile URL
kind string Record type — currently always artist. Tattoodo's studio endpoint redirects, so the public directory is artists-only.
biography string Artist biography / about-me text
verificationLevel integer Tattoodo's verification tier (0–3). Verified artists have demonstrated professional experience and safety standards.
primaryStyles string Comma-separated primary tattoo styles
secondaryStyles string Comma-separated secondary tattoo styles
specialties string Comma-separated specialties listed by the artist (often empty)
features string Comma-separated artist features (e.g. Cover-ups, Vegan Ink, Experience tattooing darker skin)
hourlyRate string Hourly rate as a currency-tagged string (e.g. $120, 90 GBP). Empty when not disclosed.
minimumRate string Minimum charge per session as a currency-tagged string
dailyRate string Daily rate as a currency-tagged string. Often empty.
priceTier string Symbolic price tier — $, $$, $$$, or $$$$
portfolioSize integer Number of portfolio pieces on the artist's profile
reviewCount integer Number of reviews backing the rating
reviewAverage number Average review score on a 0–5 scale
bookingsAllowed boolean Whether the artist accepts bookings through Tattoodo
availability string Earliest availability hint (e.g. Next week, 3-6 months)
responseTime string Typical response-time hint (e.g. 2 days, a few hours)
shopName string Name of the studio the artist works out of
address string Street address of the primary studio
city string City of the primary studio
country string ISO 3166-1 alpha-2 country code. Falls back to a timezone lookup when the source field is empty.
timezone string IANA timezone of the primary studio (e.g. Europe/London)
phone string Studio phone number, when published
latitude number Primary-studio latitude
longitude number Primary-studio longitude
socialLinks string Comma-separated social-media URLs
instagram string Instagram handle parsed from social links
tiktok string TikTok handle parsed from social links
website string Personal or studio website URL parsed from social links
imageUrl string Profile image URL
profileUrl string Canonical Tattoodo profile URL
scrapedAt string ISO 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.