Discover/AMS API
live

AMS APIjobs.ams.at

Access Austrian AMS job listings, job detail, autocomplete suggestions, green jobs, and apprenticeships via a structured REST API with location and education filters.

Endpoint health
verified 5d ago
get_suggestions
1/1 passing latest checkself-healing
Endpoints
6
Updated
26d ago

What is the AMS API?

This API exposes 6 endpoints for querying job data from Austria's public employment service platform, jobs.ams.at. Use search_jobs to filter listings by keyword, location, education level, radius, and time period, or call get_job_detail to retrieve full structured data for a specific listing by UUID. Additional endpoints cover autocomplete suggestions, featured categories, green jobs, and apprenticeships.

Try it
Page number for pagination
Search keyword (job title, skill, or company)
Time period (ALL, 1, 2, 7, 30 days)
Search radius in km around location
Location (City, Postal Code, or State)
Education level filter (e.g. 'P*' for Pflichtschule, 'U*' for University)
Filter for Green Jobs only
Number of results per page
Sort field (_SCORE for relevance, DATE for date)
Working hours (VZ=Fulltime, TZ=Parttime)
Comma-separated list of job offer sources (AMS, SB_WKO, IJ, BA, BZ, TN)
Employment type (AA=Arbeiter/Angestellte, LS=Lehrstelle, SS=Saison, FS=Ferial, SB=Sonstige)
api.parse.bot/scraper/78cbcd5c-9119-42e9-8f44-df60d1c765d3/<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/78cbcd5c-9119-42e9-8f44-df60d1c765d3/search_jobs' \
  -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 jobs-ams-at-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.


"""Walkthrough: AMS Job Suggestions API — bounded, re-runnable."""
from parse_apis.ams_job_suggestions_api import AMS, NotFoundError

client = AMS()

# Search for job title suggestions matching a prefix
for suggestion in client.suggestions.search(query="Software", limit=5):
    print(suggestion.id, suggestion.text)

# Drill-down: get the first suggestion for a different query
first = client.suggestions.search(query="Koch", limit=1).first()
if first:
    print(f"Top match for 'Koch': {first.text} (id={first.id})")

# Typed error handling around a search call
try:
    results = client.suggestions.search(query="Lehrer", limit=3)
    for s in results:
        print(s.id, s.text)
except NotFoundError as exc:
    print(f"Error: {exc}")

print("exercised: suggestions.search with multiple queries and limit control")
All endpoints · 6 totalmissing one? ·

Search for job listings with various filters.

Input
ParamTypeDescription
pageintegerPage number for pagination
querystringSearch keyword (job title, skill, or company)
periodstringTime period (ALL, 1, 2, 7, 30 days)
radiusintegerSearch radius in km around location
locationstringLocation (City, Postal Code, or State)
educationstringEducation level filter (e.g. 'P*' for Pflichtschule, 'U*' for University)
green_jobbooleanFilter for Green Jobs only
page_sizeintegerNumber of results per page
sort_fieldstringSort field (_SCORE for relevance, DATE for date)
working_timestringWorking hours (VZ=Fulltime, TZ=Parttime)
job_offer_typesstringComma-separated list of job offer sources (AMS, SB_WKO, IJ, BA, BZ, TN)
employment_relationshipstringEmployment type (AA=Arbeiter/Angestellte, LS=Lehrstelle, SS=Saison, FS=Ferial, SB=Sonstige)
Response
{
  "type": "object",
  "fields": {
    "page": "integer",
    "results": "array",
    "pageSize": "integer",
    "totalPages": "integer",
    "totalResults": "integer"
  },
  "sample": {
    "page": 1,
    "results": [
      {
        "id": 12345,
        "uuid": "abc-123-def",
        "title": "Software Engineer",
        "company": {
          "name": "Example GmbH"
        }
      }
    ],
    "pageSize": 12,
    "totalPages": 10,
    "totalResults": 120
  }
}

About the AMS API

Job Search and Filtering

The search_jobs endpoint accepts up to eight parameters including query (keyword, job title, or skill), location (city, postal code, or Austrian state), radius (in km), period (ALL, 1, 2, 7, or 30 days), and education (a prefix code such as P* for Pflichtschule or U* for university-level). You can also set green_job: true to restrict results to environmentally focused positions. Responses return results, totalResults, totalPages, page, and pageSize for pagination control.

Job Detail

get_job_detail takes a single required uuid and returns the full job record: id, uuid, title, a company object, a description string, and lastUpdatedAt timestamp. This is the appropriate endpoint when you already have a UUID from a search results array and need to render a complete job posting.

Suggestions and Curated Content

get_suggestions powers typeahead interfaces — pass a query prefix (e.g. Koch, Lehrer, Software) and an optional count to receive an array of suggestion objects, each with an id and a text label drawn from the AMS job title database. get_featured_job_categories returns the homepage's curated predefinedSearches array alongside a status field. The get_green_jobs and get_apprenticeship_jobs endpoints are convenience wrappers that accept an optional location filter and return results plus totalResults for their respective job types.

Coverage

All data originates from the official AMS (Arbeitsmarktservice) platform, Austria's federal public employment service. Listings are in German and scoped to Austria. The education filter uses AMS-specific prefix codes, so values like P* (Pflichtschule) or U* (university) must match the AMS classification system.

Reliability & maintenanceVerified

The AMS API is a managed, monitored endpoint for jobs.ams.at — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jobs.ams.at 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 jobs.ams.at 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
5d ago
Latest check
1/1 endpoint 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
  • Build a German-language job search interface with typeahead powered by get_suggestions
  • Aggregate Austrian apprenticeship (Lehrstelle) openings by region using get_apprenticeship_jobs with a location filter
  • Track green job postings in Austria over time by polling get_green_jobs or using green_job: true in search_jobs
  • Display featured job categories on a career portal homepage using get_featured_job_categories
  • Filter Austrian jobs by education requirement (e.g. university-level) using the education parameter in search_jobs
  • Render a full job posting page by fetching structured detail with get_job_detail after retrieving a UUID from search results
  • Scope a job map widget to a radius around a city using the location and radius parameters in search_jobs
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 AMS provide an official developer API for jobs.ams.at?+
AMS does not publish a documented public REST API for third-party developers. The Parse API provides structured programmatic access to the same job data available on the jobs.ams.at platform.
What does `get_job_detail` return beyond what appears in search results?+
get_job_detail returns the full description string and a structured company object in addition to the title, uuid, id, and lastUpdatedAt timestamp. Search results give you enough to list jobs; this endpoint gives you enough to render a complete posting.
What are the valid values for the `education` filter in `search_jobs`?+
The parameter uses AMS prefix codes. Documented examples are P* for Pflichtschule (compulsory schooling) and U* for university-level qualifications. Other AMS education category prefixes follow the same pattern. Values outside the AMS classification system will not match listings.
Does the API return salary or compensation data for job listings?+
Not currently. The endpoints expose title, company, description, location, education level, and timestamps, but no structured salary or pay-range fields. You can fork this API on Parse and revise it to add a salary extraction endpoint if that data is present in the source listing.
Is pagination supported, and how does it work?+
search_jobs supports pagination via the page and page_size parameters. The response includes totalPages and totalResults so you can calculate how many pages exist before iterating. get_green_jobs and get_apprenticeship_jobs return totalResults but do not currently expose page or page_size controls — those endpoints are scoped to a first-page convenience result set.
Page content last updated . Spec covers 6 endpoints from jobs.ams.at.
Related APIs in JobsSee all →
jobroom.ams.or.at API
Search and explore job listings from Austria's public employment service, view detailed job information, and discover available positions with autocomplete suggestions. Register as a jobseeker abroad and access the official terms of use for the eJob-Room platform.
job.at API
Search and browse jobs on Austria's job.at platform, view detailed job listings with salary info and company details, and use autocomplete features to refine your search by location and keywords. Discover featured positions, explore job categories, and find related job titles to expand your career opportunities.
emploi.ma API
Search and browse job listings from Emploi.ma with detailed information about positions, companies, and available categories across the Moroccan job market. Access company profiles, featured job opportunities, and full job details including requirements, salary, and employment type.
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.
cv.lv API
Search for job listings on CV.lv and access detailed job descriptions, categories, locations, and information about top employers. Find the right opportunity by browsing available positions across different industries and regions.
nav.no API
Search and browse job listings from Norway's official job board with detailed filtering by location, sector, education level, and other criteria. Get comprehensive job details and explore available opportunities across the Norwegian labor market.
amazon.jobs API
Search and browse Amazon job openings by keywords, location, and category, then view detailed information about specific positions. Filter results across multiple job categories and locations with easy pagination.
ethiojobs.net API
Search and explore job listings across Ethiopian companies with detailed job information, categories, locations, and industries. Discover company profiles, view their open positions, and find similar job opportunities tailored to your preferences.