Sourcelane

CutShort Jobs Scraper

Jobs & Hiring

Operated by Sourcelane✓ verified

A web-scraping connector for CutShort.io that extracts India-focused tech and startup job listings and returns one structured record per job: job identifiers, title and URL, posting timestamp and activity timestamps, employment type and remote status, displayed salary band plus numeric min/max and the hidden internal salary floor (and a flag when the band is hidden), experience range, a list of required skills, full job description in plain text and original HTML, recruiter information and whether the posting is company- or agency-posted, company metadata (name, type, headcount range, funding stage, founding year, website, LinkedIn and logo), location(s), and a source-page identifier. The scraper operates by crawling CutShort listing pages and individual job pages, resolves user keywords to a fixed catalogue of role/skill pages (around 3,700 pages combined with city and remote variants), downloads that catalogue at run start to map keywords to the closest listing page, prioritizes pasted job URLs, and supports filters for remote-friendly roles and minimum salary; it does not require login.

Verified Sep 28, 3:55 AM

$0.003

per job listing

Up to 100 per call. Only pay for results returned; failed calls are refunded.

What people use it for

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"cutshort-jobs-scraper","params":{"startUrls":["https://cutshort.io/jobs/reactjs-jobs-in-bangalore-bengaluru"],"maxItems":5},"maxResults":10}'

Request params

FieldTypeRequiredDescription
startUrlsarrayoptionalCutShort listing pages (https://cutshort.io/jobs/reactjs-jobs-in-bangalore-bengaluru) and/or individual job pages (https://cutshort.io/job/...). Listing pages are paginated automatically. Leave empty to search by skill / role instead.
skillsarrayoptionalSkill or role keywords, e.g. 'react', 'python', 'data science', 'devops', 'product manager'. Each keyword is matched to the closest CutShort listing page (the site only publishes a fixed set of role pages, not free-text search).
citystringoptionalOptional city, e.g. 'Bangalore', 'Mumbai', 'Delhi NCR', 'Hyderabad', 'Pune', 'Chennai'. Applied to the Skills / roles search; cities without a dedicated page fall back to the all-India page filtered by location text.
remoteOnlybooleanoptionalKeep only jobs marked remote or remote-okay; drop on-site-only jobs.
minSalaryintegeroptionalKeep only INR jobs whose displayed salary range reaches at least this many lakhs per year (e.g. 12 = ₹12 LPA). Jobs without a numeric salary or in another currency are dropped when this is set. 0 = no filter.
maxItemsintegeroptionalMaximum number of jobs to return in this run across all listing pages and job URLs. 0 = unlimited. Capped at 100 per call.
fetchDetailsbooleanoptionalListing pages already include the full description and salary bands. Enable this to also open every job page (5 at a time) for lastActiveAt and validThrough dates.

Each result contains

FieldTypeDescription
jobIdstringJob Id
titlestringTitle
urlstringUrl
companystringCompany
companyUrlstringCompany Url
companyTypestringCompany Type
companySizestringCompany Size
fundingStagenullFunding Stage
companyFoundedintegerCompany Founded
companyWebsitestringCompany Website
companyLinkedinstringCompany Linkedin
companyLogostringCompany Logo
hiringForClientboolean—
postedByCompanystring—
locationsarray—
locationsTextstring—
remoteTypestring—
roleTypesarray—
salaryTextstring—
currencystring—
salaryMininteger—
salaryMaxinteger—
salaryFloorInternalinteger—
salaryMaxInternalinteger—
salaryHiddenboolean—
experienceMininteger—
experienceMaxinteger—
skillsarray—
descriptionstring—
descriptionHtmlstring—
recruiterNamestring—
postedAtstring—
lastActiveAtnull—
validThroughnull—
sourceSlugstring—
scrapedAtstring—

Use CutShort Jobs Scraper from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “Which Series A fintechs are hiring backend engineers in London right now?”

Connect Claude

Web, desktop and mobile. Paste one URL.

  1. 1Copy your personal connector URL
  2. 2In Claude open Settings → Connectors → Add custom connector
  3. 3Paste the URL and click Add — done
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.usesourcelane.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"cutshort-jobs-scraper","params":{"startUrls":["https://cutshort.io/jobs/reactjs-jobs-in-bangalore-bengaluru"],"maxItems":5},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://api.usesourcelane.com/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "cutshort-jobs-scraper",
        "params": {"startUrls":["https://cutshort.io/jobs/reactjs-jobs-in-bangalore-bengaluru"],"maxItems":5},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…