Name | ljobx JSON |
Version |
0.1.4
JSON |
| download |
home_page | None |
Summary | A powerful, asynchronous scraper for LinkedIn job postings without authentication. |
upload_time | 2025-09-07 20:30:50 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# LinkedIn Job Scraper (ljobx)
A fast and simple **command-line tool** to scrape LinkedIn job postings without needing to log in.
It uses LinkedInβs guest APIs and provides filtering options, concurrency, and structured JSON output.
---
## π Installation
Install directly from **PyPI**:
```sh
pip install ljobx
```
---
## β‘ Usage
Run `ljobx` from the command line:
```sh
ljobx "Senior Python Developer" "Noida, India" \
--job-type "Full-time" "Contract" \
--experience-level "Entry level" "Associate" \
--date-posted "Past week" \
--remote "Hybrid" \
--max-jobs 50 \
--concurrency 2 \
--delay 3 8 \
--log-level DEBUG
```
---
## π§ CLI Options
### Required arguments
* `keywords` β Job title or keywords to search for
* `location` β Geographical location to search in
### Filtering options (from LinkedIn API)
* `--date-posted` β `Any time`, `Past month`, `Past week`, `Past day`
* `--experience-level` β `Internship`, `Entry level`, `Associate`, `Mid-Senior level`, `Director`, `Executive`
* `--job-type` β `Full-time`, `Part-time`, `Contract`, `Temporary`, `Volunteer`, `Internship`, `Other`
* `--remote` β `On-site`, `Remote`, `Hybrid`
### Scraper settings
* `--max-jobs` β Maximum number of jobs to scrape (default: 25)
* `--concurrency` β Number of concurrent requests (default: 2)
* `--delay MIN MAX` β Random delay between requests in seconds (default: 3 8)
* `--log-level` β Logging level (`DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`)
---
## π Output
Results are saved as JSON under the configured `BASE_OUTPUT_DIR`:
* Timestamped file:
```
senior_python_developer_jobs_20250907_232501.json
```
* Latest symlink (or copy if symlinks not supported):
```
senior_python_developer_jobs_latest.json
```
Raw data
{
"_id": null,
"home_page": null,
"name": "ljobx",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Tushar Kumar <tusharkr1918@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/08/d6/5398339e519cb3011d38aa7ae731a4dd28c51f8cf4541366c3334de9785f/ljobx-0.1.4.tar.gz",
"platform": null,
"description": "# LinkedIn Job Scraper (ljobx)\r\n\r\nA fast and simple **command-line tool** to scrape LinkedIn job postings without needing to log in.\r\nIt uses LinkedIn\u2019s guest APIs and provides filtering options, concurrency, and structured JSON output.\r\n\r\n---\r\n\r\n## \ud83d\ude80 Installation\r\n\r\nInstall directly from **PyPI**:\r\n\r\n```sh\r\npip install ljobx\r\n```\r\n\r\n---\r\n\r\n## \u26a1 Usage\r\n\r\nRun `ljobx` from the command line:\r\n\r\n```sh\r\nljobx \"Senior Python Developer\" \"Noida, India\" \\\r\n --job-type \"Full-time\" \"Contract\" \\\r\n --experience-level \"Entry level\" \"Associate\" \\\r\n --date-posted \"Past week\" \\\r\n --remote \"Hybrid\" \\\r\n --max-jobs 50 \\\r\n --concurrency 2 \\\r\n --delay 3 8 \\\r\n --log-level DEBUG\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udd27 CLI Options\r\n\r\n### Required arguments\r\n\r\n* `keywords` \u2192 Job title or keywords to search for\r\n* `location` \u2192 Geographical location to search in\r\n\r\n### Filtering options (from LinkedIn API)\r\n\r\n* `--date-posted` \u2192 `Any time`, `Past month`, `Past week`, `Past day`\r\n* `--experience-level` \u2192 `Internship`, `Entry level`, `Associate`, `Mid-Senior level`, `Director`, `Executive`\r\n* `--job-type` \u2192 `Full-time`, `Part-time`, `Contract`, `Temporary`, `Volunteer`, `Internship`, `Other`\r\n* `--remote` \u2192 `On-site`, `Remote`, `Hybrid`\r\n\r\n### Scraper settings\r\n\r\n* `--max-jobs` \u2192 Maximum number of jobs to scrape (default: 25)\r\n* `--concurrency` \u2192 Number of concurrent requests (default: 2)\r\n* `--delay MIN MAX` \u2192 Random delay between requests in seconds (default: 3 8)\r\n* `--log-level` \u2192 Logging level (`DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`)\r\n\r\n---\r\n\r\n## \ud83d\udcc2 Output\r\n\r\nResults are saved as JSON under the configured `BASE_OUTPUT_DIR`:\r\n\r\n* Timestamped file:\r\n\r\n ```\r\n senior_python_developer_jobs_20250907_232501.json\r\n ```\r\n* Latest symlink (or copy if symlinks not supported):\r\n\r\n ```\r\n senior_python_developer_jobs_latest.json\r\n ```\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A powerful, asynchronous scraper for LinkedIn job postings without authentication.",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/tusharkr1918/ljobx"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "beb7dc5d8738d7c281a88122c11532569719bcc02d1c145a1231af3cc0c44a5c",
"md5": "298ad2227f62d3613cde5bcaffe191e1",
"sha256": "afa2505dc21ac0e958bc6392ff214dcaa7deb2bdc907be68ce1876e692de0886"
},
"downloads": -1,
"filename": "ljobx-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "298ad2227f62d3613cde5bcaffe191e1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 13197,
"upload_time": "2025-09-07T20:30:48",
"upload_time_iso_8601": "2025-09-07T20:30:48.741127Z",
"url": "https://files.pythonhosted.org/packages/be/b7/dc5d8738d7c281a88122c11532569719bcc02d1c145a1231af3cc0c44a5c/ljobx-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "08d65398339e519cb3011d38aa7ae731a4dd28c51f8cf4541366c3334de9785f",
"md5": "5c8e7942ea6483094ff36615df44a9aa",
"sha256": "1645f96a72c503add3556da8b47fca25a8056757f5b80c23b66a93e7c56e1787"
},
"downloads": -1,
"filename": "ljobx-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "5c8e7942ea6483094ff36615df44a9aa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 9733,
"upload_time": "2025-09-07T20:30:50",
"upload_time_iso_8601": "2025-09-07T20:30:50.310953Z",
"url": "https://files.pythonhosted.org/packages/08/d6/5398339e519cb3011d38aa7ae731a4dd28c51f8cf4541366c3334de9785f/ljobx-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-07 20:30:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tusharkr1918",
"github_project": "ljobx",
"github_not_found": true,
"lcname": "ljobx"
}