MakerMap Scraper — Indie Makers, Founders & Products by City avatar

MakerMap Scraper — Indie Makers, Founders & Products by City

Pricing

from $1.50 / 1,000 results

Go to Apify Store
MakerMap Scraper — Indie Makers, Founders & Products by City

MakerMap Scraper — Indie Makers, Founders & Products by City

Export MakerMap's map of indie makers and startup founders who introduced themselves on X: handle, bio, city, country, sector, followers, intro post, products, socials, stated MRR. Filter by country, sector, tags. Also products and meetups. No login, no browser.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Banea Teodor

Banea Teodor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does MakerMap Scraper do?

MakerMap Scraper exports MakerMap — the world map of indie makers and startup founders who introduced themselves on X in the viral "I'm building … looking to connect" threads, plus everyone who joined the map since. One run gives you every maker (about 5,200 across 120+ countries) with handle, name, bio, city and country, sector, role, X followers, intro post, products, socials and stated MRR — or every product those makers build (about 3,500, with categories), or the maker meetups hosted on MakerMap. It reads the site's own public data files — no login, no browser, no proxy.

Why use this Actor?

  • The whole map in seconds: 3–4 file downloads, then filtering — a full export of 5,000+ makers takes under a minute.
  • More than the map shows at a glance: the scraped intro-thread makers and the ~1,100 makers who signed up on MakerMap directly, joined into one row per person.
  • Lead-ready columns: X handle and URL, MakerMap profile, city / country / coordinates (city-centroid precision), sector, role, work mode, stage, interests, skills, "open to" (hiring, raising, clients…), who they want to meet, companies, website, LinkedIn, GitHub and other socials, stated MRR as a number.
  • Filters that matter: country, sector, product category, tags / interests / skills, minimum followers, claimed profiles only, makers with a product, free-text search.
  • Clean, typed rows: every row has every column (null when unknown, never missing), ISO dates, numbers as numbers, decoded text, absolute URLs. No age column, and self-stated ages in intro posts ("I'm 29.") are redacted to "[age]".

How much does it cost?

You pay per row (one row = one maker, product or meetup) plus a tiny start fee. Platform compute is negligible: a full run finishes in seconds.

RunRows
First run with the prefilled form (top 50 makers by followers)50
All AI makers in Portugal and Spain~55
All claimed makers (verified profiles)~900
Every maker on the map~5,200
Every product~3,500
Meetupsa handful

Use Maximum results and the filters to pay only for what you need.

Input

FieldDescriptionExample
modemakers (default), products or meetups — one data set per runmakers
countriesISO-2 country codes["PT", "ES"]
sectorsai, saas, devtools, consumer, fintech, health, crypto, games, ecommerce, media, services["ai"]
productCategoriesdev, productivity, marketing, ai, design, creators, finance, health, education, games, shopping, social, life, services, other["dev"]
tagsTags, interests or skills (key or label, ANY matches)["growth", "backend"]
minFollowersMinimum X followers1000
hasProductsOnlyOnly makers with at least one producttrue
claimedOnlyOnly claimed ("verified maker") profiles / claimed productstrue
searchTextEvery word must appear (name, bios, intro, posts, products)agents
includeIntroPostIntro post text, link, date and engagement (default on)true
includeRecentPostsUp to 10 collected posts per maker (default off)false
sortByfollowers (default), points or newestpoints
maxResultsStop after this many rows; 0 = everything. The form prefills 5050
{
"mode": "makers",
"countries": ["PT", "ES"],
"sectors": ["ai"],
"sortBy": "followers",
"maxResults": 100
}

Output

Maker row (makers mode)

{
"handle": "example_maker",
"xUrl": "https://x.com/example_maker",
"profileUrl": "https://www.makermap.lol/example_maker",
"name": "Alex Example",
"avatarUrl": "https://pbs.twimg.com/profile_images/1000000000000000000/abcdEFGH_400x400.jpg",
"xUserId": "1000000000000000001",
"bio": "Solo founder building tools for indie hackers.",
"xBio": "Solo founder building tools for indie hackers.\nPreviously engineering lead at a fintech.",
"introText": "Solo founder from Lisbon, building a habit tracker.\nLooking to connect with more founders & designers!",
"introUrl": "https://x.com/example_maker/status/2099832331842285666",
"introPostedAt": "2026-09-15T12:06:55.000Z",
"introLikes": 30, "introReplies": 31, "introReposts": 1, "introViews": 2140,
"city": "Lisbon", "region": null, "country": "PT", "countryName": "Portugal",
"locationText": "Lisbon, Portugal", "latitude": 38.7167, "longitude": -9.1333,
"locationPrecision": "city", "locationSource": "introPost", "xLocation": "Lisbon 🇵🇹",
"originCountry": "BR", "originCountryName": "Brazil",
"cityPageUrl": "https://www.makermap.lol/city/lisbon",
"countryPageUrl": "https://www.makermap.lol/country/portugal",
"sector": "saas", "role": "founder", "workMode": "solo", "stage": "Launched",
"teamSize": null, "seniority": "Mid career", "yearsBuilding": "3–10 years",
"tags": ["saas", "apps"], "interests": ["productivity", "indie"], "skills": ["frontend", "product"],
"openTo": ["collab", "beta"], "wantsToMeet": ["founders", "designers"],
"companies": [{ "handle": "examplehq", "relation": "founded", "xUrl": "https://x.com/examplehq" }],
"isSoloInOwnWords": true, "isDigitalNomad": false, "isLookingForCofounder": false,
"hasBuiltBefore": true, "hasExited": false, "postLanguage": null,
"followers": 4645, "isXVerified": true,
"isClaimed": true, "claimStatus": "claimed", "claimedAt": "2026-10-04T20:49:05.076Z",
"points": 416, "pointsToday": 0, "rank": 167, "introRank": 374,
"pointsBreakdown": { "verified": 250, "intro": 128, "posts": 18, "bio": 0, "badges": 0, "referrals": 0, "bonus": 0, "email": 0, "bot": 0, "reviews": 20, "answers": 0 },
"totalLikes": 30, "totalReposts": 2, "totalViews": 2280,
"makersTalkedWith": 28, "countriesTalkedWith": 14,
"statedMrr": 2400, "statedMrrText": "$2.4k MRR", "statedMrrCurrency": "USD", "statedRevenueText": "$2.4k MRR",
"statedRevenuePeriod": "monthly", "statedRevenueSource": "bio",
"productCount": 1,
"products": [{
"name": "Habitly", "url": "https://habitly.example/", "host": "habitly.example",
"description": "A calm habit tracker for busy builders.", "category": "productivity",
"source": "claimed", "statedMrr": null, "statedMrrText": null, "statedMrrCurrency": null,
"productPageUrl": "https://www.makermap.lol/p/habitly.example"
}],
"websiteUrl": "https://example.com/", "linkedinUrl": "https://www.linkedin.com/in/example",
"githubUrl": "https://github.com/example", "youtubeUrl": null, "instagramUrl": null,
"tiktokUrl": null, "threadsUrl": null, "blueskyUrl": null, "newsletterUrl": null,
"calendarUrl": null, "linkInBioUrl": null,
"threadRole": "both", "addedVia": "introThread",
"recentPosts": null,
"datasetBuiltAt": "2026-10-19T04:09:25.508Z",
"scrapedAt": "2026-10-19T15:00:00.000Z"
}
  • claimStatus: claimed (logged in with X, MakerMap's "verified maker" badge — points, rank, products and socials they entered), pending (logged in, intro not verified yet), unclaimed (found in an intro thread).
  • points: claimed makers' MakerMap points; for unclaimed makers, the points waiting for them to claim.
  • products[].source: claimed, pendingClaim or foundOnXProfile (a site MakerMap found on an unclaimed maker's X profile — not confirmed by the maker).
  • latitude / longitude are MakerMap's pin: a city, region or country centroid, never an address.
  • addedVia: introThread, scrape (a later automatic pass — no engagement counts, so intro likes/views are null) or signup.

Product row (products mode)

productKey, productName, pageTitle, url, host, description, category, categoryLabel, isClaimed, source, points, rating, ratingCount, statedMrr, statedMrrText, statedMrrCurrency, iconUrl, imageUrl, addedAt, makerHandle, makerName, makerProfileUrl, makerXUrl, makerFollowers, coMakerHandles, city, country, countryName, productPageUrl, datasetBuiltAt, scrapedAt. Each product appears once; a product several claimed makers list goes to the one with most points, the others are in coMakerHandles.

Meetup row (meetups mode)

meetupId, title, hasCustomTitle, status (open = picking a time, locked = date set), isOnline, onlinePlatform, city, country, countryName, latitude, longitude, startsAt, firstProposedAt, proposedTimeCount, timezone, hostHandle, hostName, hostProfileUrl, hostXUrl, hostAvatarUrl, going, maybe, capacity, spotsLeft, note, createdAt, url, datasetBuiltAt, scrapedAt.

Tips and tricks

  • Freshness: MakerMap rebuilds its maker files about once a day (datasetBuiltAt); claims, points, followers of claimed makers and meetups are read live.
  • Leads in one city: set countries and use searchText with the city name, or filter the city column after export.
  • Bigger first page: sortBy: points puts the most active claimed makers first; followers the largest audiences.
  • Problems (a file that could not be read) are listed under the ERRORS key of the run's key-value store and in the status message.

Scheduling

MakerMap has no date filter, so each scheduled run returns the current listing for your filters (sort newest puts the latest makers first; pair it with maxResults sized to your schedule interval). Rows are unique within a run; drop repeats from earlier runs downstream by the id field — handle for makers, productKey for products, meetupId for meetups. The actor leaves no storage in your account beyond each run's own dataset and key-value store.

Integrations

Export as JSON, CSV or Excel from the dataset, or connect the Actor to Google Sheets, Zapier, Make, Slack or a webhook in the Apify Console. Through the Apify API you can start runs and read https://api.apify.com/v2/datasets/{datasetId}/items?format=csv from any pipeline.

Data and privacy

MakerMap lists people who posted public introductions on X. This Actor exports only public professional information (handle, name, bio, location at city level, sector, followers, products, public links) and never exports self-stated ages: there is no age column, and ages written in intro posts and recent posts ("I'm 29.", "29 years old", "aged 29") are replaced by "[age]" (best effort — free text can phrase it in ways the filter misses). Use the data in line with GDPR and the platform's terms — for example, do not use it for unsolicited bulk marketing.