Discover/ol API
live

ol APIol.om

Access Oman job listings from ol.om (Ashiq Oman) via API. Search postings, browse categories, and fetch full Arabic job post details including title, date, and content.

This API takes change requests — .
Endpoint health
verified 7d ago
search_jobs
get_job_details
2/2 passing latest checkself-healing
Endpoints
2
Updated
29d ago

What is the ol API?

The ol.om API exposes 2 endpoints for accessing job and training postings from Ashiq Oman, one of Oman's Arabic-language job boards. The search_jobs endpoint lets you search or browse paginated listings returning structured objects per post, while get_job_details returns 8 fields of full post content — including title, category, date, tags, plain-text body, and HTML content — for any specific posting by its numeric ID.

Try it
Page number for pagination.
Search keyword to filter job posts. When empty, browses all jobs in the jobs/training category.
api.parse.bot/scraper/a4dbd03c-189b-4069-a6c4-3e6969fdd215/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a4dbd03c-189b-4069-a6c4-3e6969fdd215/search_jobs?page=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace ol-om-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.ol_om_jobs_api import OlOm, Job, JobSummary

client = OlOm()

# Browse all job postings in the jobs/training category
for job_summary in client.jobsummaries.search():
    print(job_summary.title, job_summary.date, job_summary.url)

    # Drill into the full details of the first posting
    details = job_summary.details()
    print(details.title, details.date, details.category, details.featured_image)
    break
All endpoints · 2 totalmissing one? ·

Search or browse job postings on ol.om. When a query is provided, performs a site-wide keyword search. When no query is provided, browses the jobs/training category. Returns paginated results with up to 20 posts per page. Content is in Arabic.

Input
ParamTypeDescription
pageintegerPage number for pagination.
querystringSearch keyword to filter job posts. When empty, browses all jobs in the jobs/training category.
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job listing objects with post_id, title, url, date, category, thumbnail",
    "page": "integer - current page number",
    "query": "string - the search query used",
    "has_next_page": "boolean - whether more results exist"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "url": "https://ol.om/8208744/",
          "date": "11 يونيو، 2026",
          "title": "شركة أسواق مسقط للاستثمار تعلن وظيفة شاغرة",
          "post_id": "8208744",
          "category": "وظائف وتدريب",
          "thumbnail": "https://ol.om/wp-content/uploads/2026/06/IMG_2069-350x250.png"
        }
      ],
      "page": 1,
      "query": "",
      "has_next_page": true
    },
    "status": "success"
  }
}

About the ol API

Searching and Browsing Job Listings

The search_jobs endpoint returns paginated job and training postings from ol.om. Pass a query string to perform a site-wide keyword search (e.g., 'engineer' or 'marketing'), or omit it to browse the full jobs and training category. Results come back 20 per page, and the has_next_page boolean tells you whether additional pages exist. Each item in the jobs array includes a post_id that you pass directly to the detail endpoint. All text content is in Arabic.

Fetching Full Job Post Details

The get_job_details endpoint accepts a numeric post_id — taken from search_jobs results — and returns the complete posting. Response fields include title, date, category, tags (array), content_text (plain text body), content_html (full HTML rendering), featured_image (URL), and the canonical url. This is where salary details, requirements, and company information appear when the original post includes them — the API surfaces the full post content rather than a truncated preview.

Coverage and Language

ol.om is an Oman-focused platform and content is exclusively in Arabic. The category field identifies whether a post is a job listing or a training opportunity, as the platform covers both. Pagination is numeric via the page parameter on search_jobs, starting from page 1.

Reliability & maintenanceVerified

The ol API is a managed, monitored endpoint for ol.om — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ol.om changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official ol.om API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate Arabic-language Oman job listings into a bilingual recruitment platform
  • Monitor new postings in specific categories by polling search_jobs with no query and tracking has_next_page
  • Extract full job requirements and descriptions via get_job_details to feed an NLP pipeline for skills extraction
  • Build a job alert system by searching query keywords and storing post_id values to detect new results
  • Collect training opportunity listings from Oman alongside job postings using the browse mode of search_jobs
  • Index Oman job market data by category and date using the category and date fields from get_job_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does ol.om have an official developer API?+
ol.om does not publish an official public developer API or documented data access program.
What does `search_jobs` return for each listing, and how do I get the full post body?+
search_jobs returns an array of job listing objects with a post_id per item, plus pagination metadata (page, has_next_page, query). The listing objects give you enough to identify and filter posts. To get the full body text, HTML, tags, date, and featured image for a specific post, pass that post_id to get_job_details.
Does the API return salary or company name as dedicated structured fields?+
There are no separate structured fields for salary or company name. That information, when present in a post, appears within the content_text and content_html fields returned by get_job_details. You can fork the API on Parse and revise it to parse and expose those values as dedicated fields if your use case requires them.
Can I filter `search_jobs` results by category or date?+
The search_jobs endpoint currently accepts only a query keyword and a page number. Category-level filtering and date-range filtering are not available as parameters. You can fork the API on Parse and revise it to add category or date filter parameters.
Is the content returned in English, or only Arabic?+
All content — titles, post bodies, categories, and tags — is in Arabic, reflecting the source site's language. The API does not include translation or transliteration. If your application requires English output, you would need to apply a translation layer on your end after fetching the data.
Page content last updated . Spec covers 2 endpoints from ol.om.
Related APIs in JobsSee all →
usajobs.gov API
Search federal job openings and view detailed job announcements from USAJobs.gov, plus access historical job data and reference codes to help you find the right government position. Filter and explore thousands of federal career opportunities with comprehensive job details all in one place.
jobs.lever.co API
Access job postings on any Lever-hosted company job board. List, filter, search, and group open roles, retrieve full posting details, and extract application form questions via Lever's public API.
indeed.com API
Search and discover job opportunities on Indeed while accessing detailed job descriptions, company profiles, and salary insights all in one place. Get comprehensive career information including specific compensation data to help you find and evaluate the right job opportunity for you.
job-boards.greenhouse.io API
Access job listings, department information, office locations, and application forms from Greenhouse.io job boards, then submit applications directly through the platform. Search and filter available positions by keywords to find roles that match your qualifications.
uk.indeed.com API
Search for job listings across Indeed UK and retrieve complete job details including descriptions, requirements, salary information, and application links. Filter by job type, experience level, location, remote preference, and more to find relevant opportunities.
levels.fyi API
Access real compensation data, benefits packages, and salary trends across tech companies and job levels. Retrieve internship pay, H-1B visa salary records, company profiles, and detailed breakdowns by role and level.
in.indeed.com API
in.indeed.com API
ca.indeed.com API
Search for jobs across Canada and access detailed job listings, company profiles, employee reviews, and salary information all in one place. Build recruitment tools, career research applications, or job market analysis platforms with comprehensive employment data from Indeed Canada.
ol Jobs API – Oman Arabic Job Listings · Parse