# Freshersworld Jobs Scraper (`parsebird/freshersworld-jobs-scraper`) Actor

Scrape jobs from Freshersworld.com by keyword, city, or category URL. Extract title, company, salary, experience, qualification, location, and apply links for fresher and entry-level jobs in India. Export as JSON, CSV, or Excel.

- **URL**: https://apify.com/parsebird/freshersworld-jobs-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.79 / 1,000 job scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Freshersworld Jobs Scraper

Scrape job listings from **[Freshersworld.com](https://www.freshersworld.com)** — India's largest fresher and entry-level job board — into clean, structured JSON. The Freshersworld Jobs Scraper pulls the job title, company, salary, required experience, education qualification, location, and apply link from any keyword search, city, or category page, with no login and no Freshersworld API.

<table><tr>
<td style="border-left:4px solid #F59825;padding:12px 16px;font-weight:600">
Search Freshersworld by keyword and city, or paste a category URL, and get every listing on the page — title, company, salary band, experience, qualification, badge, posted age, and the direct apply link — paginated automatically.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Actor: parsebird/freshersworld-jobs-scraper (Apify). Scrapes jobs from freshersworld.com. Call with ApifyClient.
Input JSON fields:
  startUrl: string — a Freshersworld category or search URL (e.g. https://www.freshersworld.com/jobs/category/it-software-job-vacancies). Overrides keyword/location.
  keyword: string — job keyword, default "software"
  location: string — city in India, e.g. "Bangalore", "Pune", "Chennai"
  results_wanted: int (default 20) — max jobs to save; this is the number of billed rows
  max_pages: int (default 10) — max listing pages to scan (20 jobs per page)
  proxyConfiguration: { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }  (required — datacenter IPs are blocked)
Output: one dataset item per job — job_id, title, company, company_logo, location, salary, experience, qualification, job_type (badge), is_featured, is_hot_job, description_text, date_posted, apply_link, url, source_page, source_offset, source_url, scraped_at.
Example: { "keyword": "software", "location": "Bangalore", "results_wanted": 50, "max_pages": 5 }
API: https://api.apify.com/v2/acts/parsebird~freshersworld-jobs-scraper  ·  Token: https://console.apify.com/account/integrations
```

### What does Freshersworld Jobs Scraper do?

[Freshersworld](https://www.freshersworld.com) lists tens of thousands of fresher, trainee, internship, and junior jobs across India — IT, core engineering, BPO, banking, government, and more. There is no public Freshersworld API — this Freshersworld scraper is the alternative. It extracts:

- 💼 **Job basics** — title, hiring company, company logo, and the job's own Freshersworld URL.
- 💰 **Salary** — the disclosed pay band or "Salary not disclosed", exactly as shown.
- 📈 **Requirements** — years of experience and the education qualification (full list, not truncated).
- 📍 **Location** — the city or cities the role is based in.
- 🔖 **Badges** — whether the listing is a HOT JOB or FEATURED JOB, plus `is_hot_job` / `is_featured` flags.
- 🔗 **Apply link** — the direct application URL.
- 📅 **Freshness** — the posted age ("2 days ago") as shown on the listing.

Common uses: building a fresher-jobs aggregator, tracking entry-level hiring by city or skill, lead lists of companies hiring freshers, and feeding a job-alert product.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| startUrl | string | No | — | A Freshersworld category or search URL. Overrides `keyword` and `location`. |
| keyword | string | No | `software` | Job keyword, e.g. `accountant`, `data entry`, `mechanical`. |
| location | string | No | — | City in India, combined with `keyword` when both are set. |
| results\_wanted | integer | No | 20 | Maximum jobs to save. This is the number of billed rows. |
| max\_pages | integer | No | 10 | Maximum listing pages to scan (20 jobs per page). |
| proxyConfiguration | object | No | Residential | Proxy settings. Freshersworld blocks datacenter IPs, so residential is on by default. |

#### Example inputs

Software jobs:

```json
{ "keyword": "software", "results_wanted": 20 }
```

Jobs in a city:

```json
{ "location": "Bangalore", "results_wanted": 50, "max_pages": 5 }
```

Keyword and city together:

```json
{ "keyword": "accountant", "location": "Mumbai", "results_wanted": 100 }
```

Direct category URL:

```json
{
  "startUrl": "https://www.freshersworld.com/jobs/category/it-software-job-vacancies",
  "results_wanted": 100
}
```

### What data can you extract from Freshersworld?

| Field | Description |
|-------|-------------|
| job\_id | Freshersworld job identifier |
| title | Job title |
| company | Company name |
| company\_logo | Company logo image URL |
| location | Job location (city or cities) |
| salary | Salary band or pay information, as shown |
| experience | Required experience |
| qualification | Education requirement |
| job\_type | Listing badge (`HOT JOB`, `FEATURED JOB`, `Walkin`, or empty) |
| is\_featured / is\_hot\_job | Badge flags |
| description\_text | Listing description excerpt |
| date\_posted | Posted age, e.g. "14 days ago" |
| apply\_link | Application URL |
| url | The job's page on Freshersworld |
| source\_page / source\_offset / source\_url | Which listing page the job came from |
| scraped\_at | When the record was scraped |

### Output example

```json
{
  "job_id": "2908222",
  "title": "Internship Jobs Opening in Lumins Smart Lighting Solutions LLP at Vasai, Mumbai, Mumbai Suburbs",
  "company": "Lumins Smart Lighting Solutions LLP",
  "company_logo": "https://d2zxo3dbbqu73w.cloudfront.net/images/fw/jobs/1_185X185_FW_Default.png",
  "location": "Mumbai, Mumbai Suburbs",
  "salary": "5000 - 10000 Monthly",
  "experience": "0 Years",
  "qualification": "BE/B.Tech Electrical, IoT",
  "job_type": "HOT JOB",
  "is_featured": false,
  "is_hot_job": true,
  "description_text": "Apply to Internship Jobs in Lumins Smart Lighting Soluti...",
  "date_posted": "14 days ago",
  "apply_link": "https://www.freshersworld.com/jobs/internship-jobs-opening-in-lumins-smart-lighting-solutions-llp-at-vasai-mumbai-mumbai-suburbs-2908222",
  "url": "https://www.freshersworld.com/jobs/internship-jobs-opening-in-lumins-smart-lighting-solutions-llp-at-vasai-mumbai-mumbai-suburbs-2908222",
  "source_page": 1,
  "source_offset": 0,
  "source_url": "https://www.freshersworld.com/jobs/jobsearch/internship-jobs-in-mumbai",
  "scraped_at": "2026-09-02T10:00:00.000Z"
}
```

Download the dataset as **JSON, CSV, Excel, HTML, or XML** from the Storage tab or the [Apify API](https://docs.apify.com/api/v2).

### Use cases

- **Fresher-jobs aggregator** — feed a job board or Telegram/WhatsApp alert channel with entry-level roles.
- **Hiring trends** — track how many fresher jobs open per city, skill, or qualification over time.
- **Company lead lists** — pull companies actively hiring freshers in a given field.
- **Campus placement research** — see what salary bands and qualifications employers ask of freshers.
- **LLM training data** — a large set of short, structured Indian job postings.

### How it works

1. **Build the URL** — from `startUrl`, or from `keyword` + `location` into a Freshersworld search slug (`<keyword>-jobs-in-<city>`).
2. **Paginate** — the listing is walked 20 jobs per page (`?limit=20&offset=N`) up to `max_pages`, stopping early once the feed stops returning new jobs.
3. **Parse** — each job card is read for the title, company, salary, experience, qualification, badge, description excerpt, posted age, and apply link.
4. Rows stream to the dataset and stop at `results_wanted`.

### How much does it cost to scrape Freshersworld?

This actor is **pay per result** — charged once per job saved.

| Plan | Price per 1,000 jobs |
|------|----------------------|
| Free | **$0.99** |
| Bronze | **$0.89** |
| Silver | **$0.89** |
| Gold | **$0.79** |

A small platform **Actor start** fee also applies per run. `results_wanted` is the exact number of billed rows. Scraping 1,000 jobs on the Free plan costs about **$0.99**. Apify's monthly free platform usage covers small runs.

### How to scrape Freshersworld

1. Click **Try for free** and sign in to Apify.
2. Enter a **keyword** and optionally a **city**, or paste a **category URL**.
3. Set **results wanted** (start low, e.g. 20).
4. Click **Start**, then watch rows appear in the **Output** tab.
5. Export from **Storage**, or pull results via the API.

#### Run it via API

Python:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("parsebird/freshersworld-jobs-scraper").call(run_input={
    "keyword": "software",
    "location": "Bangalore",
    "results_wanted": 50,
})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(job["title"], "-", job["company"], "-", job["salary"])
```

JavaScript:

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('parsebird/freshersworld-jobs-scraper').call({
    startUrl: 'https://www.freshersworld.com/jobs/category/it-software-job-vacancies',
    results_wanted: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

Schedule recurring runs, add webhooks, or push results to Google Sheets, Slack, Zapier, and Make with [Apify integrations](https://docs.apify.com/platform/integrations).

### FAQ

**Do I need a Freshersworld account or API key?**
No. The scraper reads public Freshersworld listing pages only. Freshersworld has no public jobs API — this actor is the alternative.

**How current is the data?**
Live. Each run reads Freshersworld at that moment. Use Apify's scheduler to keep a dataset fresh.

**Why do I need a residential proxy?**
Freshersworld blocks datacenter IP ranges. The input defaults `proxyConfiguration` to residential — leave it on.

**Why did a keyword-only search return fewer results than a keyword + city search?**
Freshersworld's keyword-only pages are a smaller curated set. Add a city, or use a category `startUrl`, to page through more listings.

**What counts as a billed row?**
Every job saved to the dataset. `results_wanted` is the exact number.

**Something's not working.**
Open an issue on the **Issues** tab with your input and the run link — we respond quickly.

### Is it legal to scrape Freshersworld?

Scraping publicly available pages is legal in most jurisdictions, and this actor only reads listing pages any visitor can see — no login, no private data. You are responsible for how you use the data — respect Freshersworld's Terms of Use and applicable law when handling any personal data, and consult a lawyer if you are unsure. See Apify's guide on [the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

### Related actors

- [Instahyre Jobs Scraper](https://apify.com/parsebird/instahyre-jobs-scraper) — India tech jobs with employer context.
- [Internshala Scraper](https://apify.com/parsebird/internshala-scraper) — internships and fresher jobs.
- [Indeed Jobs Scraper](https://apify.com/parsebird/indeed-jobs-scraper) — job listings from Indeed worldwide.
- [MyCareersFuture Singapore Jobs Scraper](https://apify.com/parsebird/mycareersfuture-jobs-scraper) — Singapore's national jobs portal.

Browse all [ParseBird actors](https://apify.com/parsebird) on Apify Store.

# Actor input Schema

## `startUrl` (type: `string`):

A Freshersworld listing URL — a category page (e.g. https://www.freshersworld.com/jobs/category/it-software-job-vacancies) or a search URL. Overrides Keyword and City.

## `keyword` (type: `string`):

Job keyword, e.g. "software", "accountant", "data entry". Combined with City when both are set.

## `location` (type: `string`):

City or region in India, e.g. "Bangalore", "Pune", "Chennai".

## `results_wanted` (type: `integer`):

Maximum number of jobs to save. This is the number of billed rows.

## `max_pages` (type: `integer`):

Maximum listing pages to scan (20 jobs per page). The scraper also stops early when the feed runs out of new jobs.

## `proxyConfiguration` (type: `object`):

Freshersworld.com blocks datacenter IPs — residential proxy is required and set by default.

## Actor input object example

```json
{
  "keyword": "software",
  "results_wanted": 20,
  "max_pages": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrl": "",
    "keyword": "software",
    "location": "",
    "results_wanted": 20,
    "max_pages": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/freshersworld-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrl": "",
    "keyword": "software",
    "location": "",
    "results_wanted": 20,
    "max_pages": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/freshersworld-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrl": "",
  "keyword": "software",
  "location": "",
  "results_wanted": 20,
  "max_pages": 10
}' |
apify call parsebird/freshersworld-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/freshersworld-jobs-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ZtAJGQgmt7H2AOyMJ/builds/kk2PyZP7g22g1fuvF/openapi.json
