top of page

How to scrape jobs data from Foundit using the Minexa API

Foundit is one of Southeast Asia's most active job platforms, and its Philippine portal at foundit.com.ph lists thousands of accounting, finance, and professional roles updated daily. If you are building a hiring intelligence tool, a salary benchmarking dataset, or a job market tracker, that volume of structured listing data is exactly what you need. The challenge is getting it out in a usable format without writing and maintaining a custom scraper from scratch.

This guide shows how to extract accounting job listings from Foundit using the Minexa API. The workflow has two phases: train a scraper once using the Minexa Chrome extension, then call the API programmatically to pull data at scale whenever you need it.

Watch the full tutorial first

The video below walks through the complete setup from opening Foundit to generating your API request and running the scraper.

The steps shown in the video are also broken down with screenshots below so you can follow along at your own pace.

Step 1: Open Foundit and launch the extension

Navigate to https://www.foundit.com.ph/search/accounting-jobs in Chrome. Once the page has fully loaded, open the Minexa extension.

Click the 'I'm on the right page' button inside the extension popup to confirm you are on the correct starting URL before detection begins.

Step 2: Confirm pagination and scraping mode

Minexa detects how Foundit paginates its results. You will see the detected pagination method listed along with a Continue button. Confirm it to proceed.

Next, choose whether to scrape the list only or the list plus each job's detail page. For most job market datasets, the list view already contains the core fields you need.

Select simple scraping mode unless you need custom interaction logic on the page. For a standard job listing page like this one, simple mode is sufficient.

Step 3: Confirm the container and review extracted fields

Minexa highlights the repeating container holding all job cards on the page. Confirm the selection, then click 'Create scraper' to generate the field map.

After the scraper is created, you can browse all detected data points using the next and previous navigation inside the extension preview panel.

Step 4: Get your API request and scraper ID

Click 'API request' inside the extension to view the generated JSON and Python code samples. This is where you find your scraper_id, which is the stable identifier you will pass in every subsequent API call.

The endpoint to call is https://api.minexa.ai/data. A typical request looks like this:

POST https://api.minexa.ai/data
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "scraper_id": 6274,
  "columns": "top_40",
  "urls": [
    "https://www.foundit.com.ph/search/accounting-jobs"
  ]
}

The columns parameter accepts either a named list of fields or a shorthand like top_40 to return the top forty ranked data points automatically. The scraper_id you received during training is reused across every call without repeating any setup.

What the extracted data looks like

Here is a sample of what the Minexa API returns for Foundit accounting job listings:

[
  {
    "job_title": "Senior Accountant",
    "company_name": "Filinvest Group",
    "location": "Makati City, Metro Manila",
    "salary": "PHP 40,000 - 55,000",
    "experience": "3 - 5 years",
    "posting_date": "2 days ago",
    "job_link": "https://www.foundit.com.ph/job/senior-accountant-123456"
  },
  {
    "job_title": "Accounting Manager",
    "company_name": "Ayala Corporation",
    "location": "Taguig City, Metro Manila",
    "salary": "PHP 60,000 - 80,000",
    "experience": "5 - 8 years",
    "posting_date": "1 day ago",
    "job_link": "https://www.foundit.com.ph/job/accounting-manager-789012"
  }
]

Key fields and how to use them

job_link returns a direct absolute URL per listing. This means you can pass each URL back into a subsequent API call targeting the detail page to retrieve the full job description, requirements, and any additional metadata not visible on the list view.

posting_date surfaces a relative time string per listing such as '1 day ago' or '3 days ago'. This lets you filter for recently posted roles in your pipeline without computing anything from a raw timestamp.

meta__unique_hash is generated per row on every run. Comparing hashes across two runs lets you identify new listings, removed listings, and unchanged rows without storing full records for comparison. This is the recommended approach for building an incremental update pipeline on top of Foundit data.

salary returns the range string exactly as displayed on the page. When no salary is listed, the field returns empty rather than a placeholder, so your pipeline can cleanly separate disclosed from undisclosed compensation without additional parsing logic.

Running the job and exporting results

Once the job completes, results are available as a structured table and can be exported to Excel or JSON. When calling via the API, the response is returned as a JSON array ready to pipe directly into your database, spreadsheet, or downstream application.

For ongoing monitoring, set up a cron job on your own infrastructure and pass updated URLs to the same scraper_id on whatever schedule fits your use case. The scraper does not need to be retrained between runs as long as Foundit's page structure remains consistent.

For a related example using a similar jobs data source, see: How to scrape jobs data from Hirist.tech using the Minexa API.

Recent Posts

See All

Comments


Heading 2

bottom of page