Annotation Companies in Mysuru
v1PublishedAnnotation and BPO/ITES companies in Mysuru, Karnataka, India — verified annotation firms with full contact plus the broader BPO/call-centre listings from JustDial Mysore.
Output & API
Preview the latest data, download it, or call this collector as an API.
| city | Mysuru |
|---|---|
| note | Mysuru does not have ~200 dedicated annotation companies. This list combines the verified annotation-specific firms (with full contact) and the broader BPO / ITES / call-centre firms in Mysuru listed on JustDial, where data-annotation work is commonly performed. |
| state | Karnataka |
| total | 64 |
| country | India |
| companies |
Marketplace
Publish this collector so others can deploy it — you keep ownership.
Versions
Every build and self-heal appends a version. Pin one to lock runs to it.
import Firecrawl from "@mendable/firecrawl-js";
const apiKey = process.env.FIRECRAWL_API_KEY;
if (!apiKey) {
console.error("FIRECRAWL_API_KEY is not set");
process.exit(1);
}
const firecrawl = new Firecrawl({ apiKey });
type Firm = {
name: string;
area?: string;
address?: string;
phone?: string;
email?: string;
website?: string;
source: string;
category: string;
};
// Curated, verified annotation firms in Mysuru with full contact details
// (gathered from their official contact pages and JustDial listings).
const verifiedFirms: Firm[] = [
{
name: "VisonVerse Technologies Pvt Ltd",
area: "Kuvempunagar",
address:
"2nd Floor, above Kosamattam Finance building, Kuvempunagar M Block, 2nd Stage, Near Pooja Bakery, Mysore 570023",
phone: "+91-9482278578",
email: "hr@visonverse.com",
website: "https://www.visonverse.com/",
source: "visonverse.com/contact",
category: "Data Annotation",
},
{
name: "Annot IQ Solutions Pvt Ltd",
area: "Udayagiri",
address:
"130/A, 2nd Floor, opp. to Nehru Park, M.G. Road, Udayagiri, Mysuru, Karnataka 570019",
website: "https://www.annotiqsolutions.com/",
source: "annotiqsolutions.com / justdial",
category: "Data Annotation",
},
{
name: "PlanetGlobe",
area: "Vidyaranyapuram",
address:
"#64/8, JLB Road, Yelethota, Vidyaranyapuram, Mysore, Karnataka, India 570004",
phone: "+91 9945381957",
email: "info@planetglobe.in",
website: "https://planetglobe.in/",
source: "planetglobe.in/contact-us",
category: "Data Annotation",
},
{
name: "Manasya InfoSolutions",
area: "N R Mohalla",
address: "N R Mohalla, Mysore, Karnataka, India",
phone: "+91 7996230094",
email: "connect@manasyainfosolutions.in",
website: "https://www.manasyainfosolutions.in/",
source: "manasyainfosolutions.in",
category: "Data Annotation",
},
{
name: "Prudent Partners Pvt Ltd",
area: "Kuvempunagar",
address:
"#667, Shrinidhi Plaza, GF & 2nd Floor, Nrupatunga Rd, Near Bus Depot, M-Block, Kuvempunagar, Mysuru, Karnataka 570023",
phone: "+91 73488 31666",
email: "contactus@prudentpartners.in",
website: "https://prudentpartners.in/",
source: "prudentpartners.in/contact-us",
category: "Data Annotation",
},
{
name: "SHIRO BPO Services",
area: "Vijayanagar 1st Stage",
address:
"2nd Floor, #442, Jaya Chama Rajendra Rd, Vijayanagar 1st Stage, Vijayanagar, Mysuru, Karnataka 570017, India",
phone: "+91 76766 66844",
email: "info@shirobpo.com",
website: "https://shirobpo.com/",
source: "shirobpo.com/contact",
category: "Data Annotation",
},
{
name: "Goalcryst India Pvt Ltd",
area: "Saraswathipuram",
address:
"#2913, CH-56, 2nd Floor, 4th Cross, Opposite to TTL College, Kantharaja Urs Road, Saraswathipuram, Mysuru, Karnataka 570009",
phone: "0821-4191187",
email: "info@goalcryst.com",
website: "https://www.goalcryst.com/",
source: "goalcryst.com/about-us",
category: "Data Annotation / BPO",
},
{
name: "L&T Technology Services (LTTS) - Mysuru Campus",
area: "Hebbal-Hootangalli",
address:
"L&T Special Economic Zone, Mysuru Campus, Plot No. 324-330, KIADB Industrial Area, Hebbal-Hootangalli, Mysuru, Karnataka 570081",
email: "info@ltts.com",
website: "https://www.ltts.com/",
source: "ltts.com/careers/india",
category: "Data Annotation (AnnotAI)",
},
];
// JustDial category listing pages for Mysore covering the BPO / ITES scene.
const jdCategories = [
{ path: "BPO/nct-10055809", label: "BPO" },
{ path: "BPO-For-Domestic/nct-10055842", label: "BPO (Domestic)" },
{ path: "Call-Centres/nct-10071239", label: "Call Centres" },
{ path: "Data-Entry-Services/nct-10070745", label: "Data Entry Services" },
];
// Split a JustDial listing title like
// "Inspire Global Solutions Near Icici Bank ATM Fort Mohalla, Mysore"
// into a company name and an area / landmark hint.
function splitTitle(title: string): { name: string; area: string } {
const base = title.replace(/,?\s*Mysore$/, "").trim();
const landmarks = [
"Near ",
"Above ",
"Opposite ",
"Opp. ",
"Next To ",
"Abv ",
"Beside ",
"Behind ",
" in ",
];
let cut = base.length;
for (const lm of landmarks) {
const idx = base.indexOf(lm);
if (idx > 0 && idx < cut) cut = idx;
}
const name = base.slice(0, cut).replace(/\s+/g, " ").trim();
const area = base.slice(cut).replace(/\s+/g, " ").trim();
return { name, area };
}
function norm(s: string): string {
return s.toLowerCase().replace(/[^a-z0-9]/g, "");
}
async function scrapeJustDial(): Promise<Firm[]> {
const out: Firm[] = [];
const seen = new Set<string>();
for (const cat of jdCategories) {
for (let p = 1; p <= 5; p++) {
const url = `https://www.justdial.com/Mysore/${cat.path}/page-${p}`;
let md = "";
try {
const doc = await firecrawl.scrape(url, {
formats: ["markdown"],
integration: "prometheus",
});
md = (doc as any).markdown ?? "";
} catch (e) {
console.error(`Failed to scrape ${url}:`, (e as Error).message);
continue;
}
if (!md) continue;
// Stop early if the page has no listings.
if (!/Mysore/.test(md) || md.length < 500) {
console.error(`No content on ${url}, stopping this category.`);
break;
}
const re = /"([A-Z][^"]{5,},\s*Mysore)"/g;
let m: RegExpExecArray | null;
let added = 0;
while ((m = re.exec(md)) !== null) {
const raw = m[1].replace(/\s+/g, " ").trim();
const { name, area } = splitTitle(raw);
if (!name) continue;
const key = norm(name);
if (seen.has(key)) continue;
seen.add(key);
out.push({
name,
area: area || undefined,
source: `JustDial Mysore / ${cat.label}`,
category: cat.label,
});
added++;
}
// If a page added nothing new, the category is likely exhausted.
if (added === 0 && p > 1) break;
}
}
return out;
}
async function main() {
const jdFirms = await scrapeJustDial();
// Merge: verified firms first (with full contact), then the broader list.
const all: Firm[] = [];
const usedNames = new Set<string>();
for (const f of verifiedFirms) {
all.push(f);
usedNames.add(norm(f.name));
}
for (const f of jdFirms) {
if (usedNames.has(norm(f.name))) {
// enrich area if a verified firm had no area
continue;
}
all.push(f);
usedNames.add(norm(f.name));
}
const out = {
city: "Mysuru",
state: "Karnataka",
country: "India",
total: all.length,
note:
"Mysuru does not have ~200 dedicated annotation companies. This list combines the verified annotation-specific firms (with full contact) and the broader BPO / ITES / call-centre firms in Mysuru listed on JustDial, where data-annotation work is commonly performed.",
companies: all,
};
process.stdout.write(JSON.stringify(out, null, 2));
}
main().catch((err) => {
console.error(err);
process.exit(1);
});
Deploy this collector to unlock schedules, the API endpoint, and destinations.