scrapercity 1.0.26 → 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENT_DOCS.txt +3 -2
- package/README.md +2 -1
- package/SKILL.md +4 -3
- package/bin/cli.mjs +1 -1
- package/lib/catalog.generated.mjs +72 -1
- package/package.json +1 -1
package/AGENT_DOCS.txt
CHANGED
|
@@ -23,6 +23,7 @@ PRICING (auto-generated from the live catalog - do not edit)
|
|
|
23
23
|
| `search_criminal_records` | /api/v1/scrape/criminal-records | $1.00 per search (only charged if records found) |
|
|
24
24
|
| `scrape_store_leads` | /api/v1/scrape/store-leads | $0.0039 per lead |
|
|
25
25
|
| `scrape_builtwith` | /api/v1/scrape/techstack | $4.99 per technology |
|
|
26
|
+
| `scrape_signals` | /api/v1/scrape/signals | $0.10 per company running ads, $0.03 per website checked, $0.05 per company hiring; every search is charged at least twice its processing cost |
|
|
26
27
|
| `find_emails` | /api/v1/scrape/email-finder | $0.05 per email found (FREE if not found) |
|
|
27
28
|
| `find_mobiles` | /api/v1/scrape/mobile-finder | $0.25 per number found (FREE if not found) |
|
|
28
29
|
<!-- GENERATED:pricing:end -->
|
|
@@ -53,7 +54,7 @@ apollo
|
|
|
53
54
|
filters already in the Lead Database (ones you don't have), a dashboard link, and the
|
|
54
55
|
/api/v1/database/leads call that returns them now.
|
|
55
56
|
Cost: $0.0039/lead | Min 500, max 50000
|
|
56
|
-
DELIVERY:
|
|
57
|
+
DELIVERY: usually 15-30 minutes, some lists take longer. Use webhook, not polling.
|
|
57
58
|
To filter by title/location/industry without a URL, use the Lead Database (below).
|
|
58
59
|
|
|
59
60
|
maps
|
|
@@ -309,7 +310,7 @@ WORKFLOW EXAMPLES
|
|
|
309
310
|
|
|
310
311
|
2. APOLLO SCRAPE (slow):
|
|
311
312
|
POST /api/v1/scrape/apollo → get runId → configure webhook → wait for callback
|
|
312
|
-
Do NOT poll Apollo in a tight loop.
|
|
313
|
+
Do NOT poll Apollo in a tight loop. Start after 15 minutes and check every few minutes.
|
|
313
314
|
|
|
314
315
|
3. ENRICH PIPELINE:
|
|
315
316
|
Apollo/Maps → download CSV → extract emails → POST email-validator → download validated CSV
|
package/README.md
CHANGED
|
@@ -122,6 +122,7 @@ Both SDKs carry the same tool list as the MCP server, regenerated from the live
|
|
|
122
122
|
| `search_criminal_records` | /api/v1/scrape/criminal-records | $1.00 per search (only charged if records found) |
|
|
123
123
|
| `scrape_store_leads` | /api/v1/scrape/store-leads | $0.0039 per lead |
|
|
124
124
|
| `scrape_builtwith` | /api/v1/scrape/techstack | $4.99 per technology |
|
|
125
|
+
| `scrape_signals` | /api/v1/scrape/signals | $0.10 per company running ads, $0.03 per website checked, $0.05 per company hiring; every search is charged at least twice its processing cost |
|
|
125
126
|
| `find_emails` | /api/v1/scrape/email-finder | $0.05 per email found (FREE if not found) |
|
|
126
127
|
| `find_mobiles` | /api/v1/scrape/mobile-finder | $0.25 per number found (FREE if not found) |
|
|
127
128
|
<!-- GENERATED:pricing:end -->
|
|
@@ -148,7 +149,7 @@ Both SDKs carry the same tool list as the MCP server, regenerated from the live
|
|
|
148
149
|
2. **Poll status** (or use webhooks) → wait for `SUCCEEDED`
|
|
149
150
|
3. **Download CSV** → leads with full contact info
|
|
150
151
|
|
|
151
|
-
Apollo scrapes take
|
|
152
|
+
Apollo scrapes usually take 15-30 minutes. All other scrapers: 1-30 minutes. Store leads are instant.
|
|
152
153
|
|
|
153
154
|
## Authentication
|
|
154
155
|
|
package/SKILL.md
CHANGED
|
@@ -37,6 +37,7 @@ Auth: `Authorization: Bearer $SCRAPERCITY_API_KEY` on all requests.
|
|
|
37
37
|
| `search_criminal_records` | /api/v1/scrape/criminal-records | $1.00 per search (only charged if records found) |
|
|
38
38
|
| `scrape_store_leads` | /api/v1/scrape/store-leads | $0.0039 per lead |
|
|
39
39
|
| `scrape_builtwith` | /api/v1/scrape/techstack | $4.99 per technology |
|
|
40
|
+
| `scrape_signals` | /api/v1/scrape/signals | $0.10 per company running ads, $0.03 per website checked, $0.05 per company hiring; every search is charged at least twice its processing cost |
|
|
40
41
|
| `find_emails` | /api/v1/scrape/email-finder | $0.05 per email found (FREE if not found) |
|
|
41
42
|
| `find_mobiles` | /api/v1/scrape/mobile-finder | $0.25 per number found (FREE if not found) |
|
|
42
43
|
<!-- GENERATED:pricing:end -->
|
|
@@ -45,7 +46,7 @@ Auth: `Authorization: Bearer $SCRAPERCITY_API_KEY` on all requests.
|
|
|
45
46
|
|
|
46
47
|
| Slug | Input | Cost | Speed |
|
|
47
48
|
|------|-------|------|-------|
|
|
48
|
-
| `apollo` | `{url, count, fileName}` | $0.0039/lead |
|
|
49
|
+
| `apollo` | `{url, count, fileName}` | $0.0039/lead | usually 15-30 min (use webhook) |
|
|
49
50
|
| `maps` | `{searchStringsArray:["query"], locationQuery, maxCrawledPlacesPerSearch}` | $0.01/place | 5-30 min |
|
|
50
51
|
| `email-validator` | `{emails:["a@b.com"]}` | $0.0036/email | 1-10 min |
|
|
51
52
|
| `email-finder` | `{contacts:[{first_name,last_name,domain}], autoValidateEmails, autoFindMobiles}` | $0.05/contact | 1-10 min |
|
|
@@ -65,10 +66,10 @@ Auth: `Authorization: Bearer $SCRAPERCITY_API_KEY` on all requests.
|
|
|
65
66
|
| `property-lookup` | `{addresses:["123 Main St, City, ST 12345"], includeOwnerContact:false}` | $0.15/address | 2-10 min |
|
|
66
67
|
|
|
67
68
|
## ⚠ Apollo Delivery
|
|
68
|
-
Apollo scrapes take **
|
|
69
|
+
Apollo scrapes usually take **15-30 minutes** to deliver; some lists take longer. Do NOT poll in a loop.
|
|
69
70
|
- Set up a webhook at `app.scrapercity.com/dashboard/webhooks`
|
|
70
71
|
- Webhook fires when results are ready with `{runId, fileName, leadsCount}`
|
|
71
|
-
- If you must poll, check
|
|
72
|
+
- If you must poll, start after 15 minutes and check every few minutes, not in a tight loop
|
|
72
73
|
|
|
73
74
|
## Other Endpoints
|
|
74
75
|
|
package/bin/cli.mjs
CHANGED
|
@@ -94,7 +94,7 @@ async function main() {
|
|
|
94
94
|
console.log(`✓ Apollo scrape started`)
|
|
95
95
|
console.log(` Run ID: ${r.runId}`)
|
|
96
96
|
console.log(` ${r.message || ''}`)
|
|
97
|
-
console.log(` Note: Apollo takes
|
|
97
|
+
console.log(` Note: Apollo usually takes 15-30 minutes. Set up a webhook at app.scrapercity.com/dashboard/webhooks to get notified.`)
|
|
98
98
|
console.log(` Check: scrapercity status ${r.runId}`)
|
|
99
99
|
break
|
|
100
100
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// AUTO-GENERATED by scripts/generate.mjs — DO NOT EDIT BY HAND.
|
|
2
2
|
// Source of truth: scraperConfigs.ts (+ src/config/scrapers.ts). Regenerate: npm run generate
|
|
3
|
-
// Generated: 2026-10-
|
|
3
|
+
// Generated: 2026-10-31T04:11:49.837Z
|
|
4
4
|
export const TOOLS = [
|
|
5
5
|
{
|
|
6
6
|
"name": "scrape_apollo",
|
|
@@ -554,6 +554,75 @@ export const TOOLS = [
|
|
|
554
554
|
]
|
|
555
555
|
}
|
|
556
556
|
},
|
|
557
|
+
{
|
|
558
|
+
"name": "scrape_signals",
|
|
559
|
+
"description": "Find companies showing a buying signal right now. type \"ads\": companies running ads on Meta (Facebook and Instagram), Google, LinkedIn and TikTok, found by keyword and location or checked from your own list of websites. type \"hiring\": companies hiring for a role on LinkedIn Jobs and Indeed. One row per company with its website, the signal (platforms and ad links, or the job and its link) and a decision maker contact from the Lead Database where one matches. Set replaceContacts to swap contacts who have left for the person in that role now before the file is delivered. Cost: $0.10 per company running ads, $0.03 per website checked, $0.05 per company hiring; every search is charged at least twice its processing cost.",
|
|
560
|
+
"inputSchema": {
|
|
561
|
+
"type": "object",
|
|
562
|
+
"properties": {
|
|
563
|
+
"type": {
|
|
564
|
+
"type": "string",
|
|
565
|
+
"description": "ads (companies running ads) or hiring (companies hiring for a role)"
|
|
566
|
+
},
|
|
567
|
+
"keyword": {
|
|
568
|
+
"type": "string",
|
|
569
|
+
"description": "type ads: find advertisers for this keyword (send keyword OR domains). Meta and LinkedIn search their ad libraries; for Google, the businesses matching the keyword and location in the Local Business Database, and every website the other platforms found, are looked up in the Google ad library."
|
|
570
|
+
},
|
|
571
|
+
"domains": {
|
|
572
|
+
"type": "array",
|
|
573
|
+
"items": {
|
|
574
|
+
"type": "string"
|
|
575
|
+
},
|
|
576
|
+
"description": "type ads: check these websites instead (send keyword OR domains). Every website gets a row, with running_ads_on empty when no ads were found."
|
|
577
|
+
},
|
|
578
|
+
"platforms": {
|
|
579
|
+
"type": "array",
|
|
580
|
+
"items": {
|
|
581
|
+
"type": "string"
|
|
582
|
+
},
|
|
583
|
+
"description": "type ads: any of meta, google, linkedin, tiktok (default: all). TikTok publishes ads for EU countries, the UK, Switzerland and Turkey only, and is searched by keyword only."
|
|
584
|
+
},
|
|
585
|
+
"jobTitle": {
|
|
586
|
+
"type": "string",
|
|
587
|
+
"description": "type hiring: the role companies are hiring for (required for hiring)"
|
|
588
|
+
},
|
|
589
|
+
"postedWithin": {
|
|
590
|
+
"type": "string",
|
|
591
|
+
"description": "type hiring: 24h, 7d or 30d (Indeed: at most the last 14 days)"
|
|
592
|
+
},
|
|
593
|
+
"sources": {
|
|
594
|
+
"type": "array",
|
|
595
|
+
"items": {
|
|
596
|
+
"type": "string"
|
|
597
|
+
},
|
|
598
|
+
"description": "type hiring: job boards, linkedin and/or indeed (default: both)"
|
|
599
|
+
},
|
|
600
|
+
"includeAgencies": {
|
|
601
|
+
"type": "boolean",
|
|
602
|
+
"description": "type hiring: keep staffing and recruiting agencies"
|
|
603
|
+
},
|
|
604
|
+
"location": {
|
|
605
|
+
"type": "string",
|
|
606
|
+
"description": "City, state or region (ads: added to the keyword search; hiring: where the jobs are)"
|
|
607
|
+
},
|
|
608
|
+
"country": {
|
|
609
|
+
"type": "string",
|
|
610
|
+
"description": "Two-letter country code"
|
|
611
|
+
},
|
|
612
|
+
"maxCompanies": {
|
|
613
|
+
"type": "number",
|
|
614
|
+
"description": "The most companies to return (default 200 for ads by keyword, 500 for hiring)"
|
|
615
|
+
},
|
|
616
|
+
"replaceContacts": {
|
|
617
|
+
"type": "boolean",
|
|
618
|
+
"description": "Replace contacts who have left with the person in that role now, before the file is delivered. Unlimited and free on the $649 plan, otherwise $0.02 per contact replaced."
|
|
619
|
+
}
|
|
620
|
+
},
|
|
621
|
+
"required": [
|
|
622
|
+
"type"
|
|
623
|
+
]
|
|
624
|
+
}
|
|
625
|
+
},
|
|
557
626
|
{
|
|
558
627
|
"name": "find_emails",
|
|
559
628
|
"description": "Find verified work email addresses from a person's name and company domain. Every email found is automatically validated for deliverability. Cost: $0.05 per email found (FREE if not found).",
|
|
@@ -633,6 +702,7 @@ export const ENDPOINT_BY_TOOL = {
|
|
|
633
702
|
"search_criminal_records": "/api/v1/scrape/criminal-records",
|
|
634
703
|
"scrape_store_leads": "/api/v1/scrape/store-leads",
|
|
635
704
|
"scrape_builtwith": "/api/v1/scrape/techstack",
|
|
705
|
+
"scrape_signals": "/api/v1/scrape/signals",
|
|
636
706
|
"find_emails": "/api/v1/scrape/email-finder",
|
|
637
707
|
"find_mobiles": "/api/v1/scrape/mobile-finder"
|
|
638
708
|
}
|
|
@@ -654,6 +724,7 @@ export const ENDPOINTS = {
|
|
|
654
724
|
"criminal-records": "/api/v1/scrape/criminal-records",
|
|
655
725
|
"store-leads": "/api/v1/scrape/store-leads",
|
|
656
726
|
"builtwith": "/api/v1/scrape/techstack",
|
|
727
|
+
"signals": "/api/v1/scrape/signals",
|
|
657
728
|
"email-finder": "/api/v1/scrape/email-finder",
|
|
658
729
|
"mobile-finder": "/api/v1/scrape/mobile-finder",
|
|
659
730
|
"buy-credits": "/api/v1/buy-credits",
|