i have configured custom llm api key but still seeing these errors. i have claude code cli installed but it's not logged in as i dont have a pro plan. but it shouldn't be a problem if i have custom api provider ( digital ocean ).
can anyone help:
~/Developer/apply-pilot apply-pilot ❯ applypilot doctor
ApplyPilot Doctor
profile.json OK /Users/sauravsharma/.applypilot/profile.json
resume.txt OK /Users/sauravsharma/.applypilot/resume.txt
searches.yaml OK /Users/sauravsharma/.applypilot/searches.yaml
python-jobspy OK Job board scraping available
LLM API key OK Local: https://inference.do-ai.run/v1
Claude Code CLI OK /opt/homebrew/bin/claude
Chrome/Chromium OK /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Node.js (npx) OK /opt/nanobrew/prefix/Cellar/node/25.9.0_2/bin/npx
CapSolver API key optional Set CAPSOLVER_API_KEY in .env for CAPTCHA solving
Current tier: Tier 3 — Full Auto-Apply
~/Developer/apply-pilot apply-pilot ❯ applypilot
Usage: applypilot [OPTIONS] COMMAND [ARGS]...
AI-powered end-to-end job application pipeline.
╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version -V Show version and exit. │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the │
│ installation. │
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────────────────────╮
│ init Run the first-time setup wizard (profile, resume, search config). │
│ run Run pipeline stages: discover, enrich, score, tailor, cover, pdf. │
│ apply Launch auto-apply to submit job applications. │
│ status Show pipeline statistics from the database. │
│ dashboard Generate and open the HTML dashboard in your browser. │
│ doctor Check your setup and diagnose missing requirements. │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯
~/Developer/apply-pilot apply-pilot ❯ applypilot apply
No tailored resumes ready.
Run applypilot run score tailor first to prepare applications.
~/Developer/apply-pilot apply-pilot ❯ applypilot run
╭──────────────────────────────────╮
│ ApplyPilot Pipeline (sequential) │
╰──────────────────────────────────╯
Min score: 7
Workers: 1
Validation: normal
Stages: discover -> enrich -> score -> tailor -> cover -> pdf
DB: 270 jobs, 0 pending enrichment
======================================================================
STAGE: discover — Job discovery (JobSpy + Workday + smart extract)
Started: 14:28:36
======================================================================
JobSpy full crawl...
14:28:37 - INFO - Full crawl: 17 search combinations
14:28:37 - INFO - Sites: indeed, linkedin, zip_recruiter | Results/site: 50 | Hours old: 72
2026-05-21 14:28:37,985 - ERROR - JobSpy:ZipRecruiter - ZipRecruiter response status code 403 with response: {"error_code":"forbidden aa","error_message":"forbidden aa","request_id":"CFRAY:9ff26161cda686e5-IAD","status_code":403}
2026-05-21 14:29:53,568 - INFO - JobSpy:Linkedin - finished scraping
14:29:53 - INFO - ["Backend Engineer" in Remote (remote) [tier 1]] 95 results -> 1 new, 75 dupes, 19 filtered (location)
2026-05-21 14:29:54,395 - ERROR - JobSpy:ZipRecruiter - ZipRecruiter response status code 403 with response: {"error_code":"forbidden aa","error_message":"forbidden aa","request_id":"CFRAY:9ff2633f58fc77d3-IAD","status_code":403}
14:31:05 - INFO - ["AI Engineer" in Remote (remote) [tier 2]] 100 results -> 3 new, 84 dupes, 13 filtered (location)
2026-05-21 14:31:06,066 - ERROR - JobSpy:ZipRecruiter - ZipRecruiter response status code 403 with response: {"error_code":"forbidden aa","error_message":"forbidden aa","request_id":"CFRAY:9ff264ff3bce455c-IAD","status_code":403}
14:32:18 - INFO - ["Python Developer" in Remote (remote) [tier 3]] 100 results -> 3 new, 69 dupes, 28 filtered (location)
2026-05-21 14:32:19,194 - ERROR - JobSpy:ZipRecruiter - ZipRecruiter response status code 403 with response: {"error_code":"forbidden aa","error_message":"forbidden aa","request_id":"CFRAY:9ff266c86b311e0a-IAD","status_code":403}
14:33:30 - INFO - ["Django developer" in Remote (remote) [tier 3]] 53 results -> 2 new, 29 dupes, 22 filtered (location)
2026-05-21 14:33:31,456 - ERROR - JobSpy:ZipRecruiter - ZipRecruiter response status code 403 with response: {"error_code":"forbidden aa","error_message":"forbidden aa","request_id":"CFRAY:9ff2688bf962aa33-IAD","status_code":403}
14:34:40 - INFO - ["python django developer" in Remote (remote) [tier 3]] 53 results -> 2 new, 30 dupes, 21 filtered (location)
14:34:40 - INFO - Progress: 5/17 queries done (11 new, 287 dupes, 0 errors)
2026-05-21 14:34:40,902 - ERROR - JobSpy:ZipRecruiter - ZipRecruiter response status code 403 with response: {"error_code":"forbidden aa","error_message":"forbidden aa","request_id":"CFRAY:9ff26a3e0f3114c8-IAD","status_code":403}
i have configured custom llm api key but still seeing these errors. i have claude code cli installed but it's not logged in as i dont have a pro plan. but it shouldn't be a problem if i have custom api provider ( digital ocean ).
can anyone help: