# Candidate's resume (as a string)
resume_paste = """
[Your resume content here]
"""

```

### Step 4: Scrape the Jobs Page Using Firecrawl

We use Firecrawl to scrape the jobs page and extract the HTML content.

```python
try:
    response = requests.post(
        "https://api.firecrawl.dev/v1/scrape",
        headers={
            "Content-Type": "application/json",
            "Authorization": f"Bearer {firecrawl_api_key}"
        },
        json={
            "url": jobs_page_url,
            "formats": ["markdown"]
        }
    )
    if response.status_code == 200:
        result = response.json()
        if result.get('success'):
            html_content = result['data']['markdown']
            # Prepare the prompt for OpenAI
            prompt = f"""
Extract up to 30 job application links from the given markdown content.
Return the result as a JSON object with a single key 'apply_links' containing an array of strings (the links).
The output should be a valid JSON object, with no additional text.

Markdown content:
{html_content[:100000]}
"""
        else:
            html_content = ""
    else:
        html_content = ""
except Exception as e:
    html_content = ""

```

### Step 5: Extract Apply Links Using OpenAI’s `gpt-4o` Model

We use OpenAI’s `gpt-4o` model to parse the scraped content and extract application links.

```python