Discover/Malt API
live

Malt APImalt.fr

Search Malt.fr freelancer profiles, retrieve detailed profile data, and get autocomplete suggestions via 3 structured API endpoints.

Endpoint health
verified 2d ago
autocomplete
search_freelancers
get_profile
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Malt API?

The Malt.fr API gives developers structured access to freelancer data across 3 endpoints covering search, profile detail, and autocomplete. search_freelancers returns up to 24 profiles per page with fields like pricing, skills, location, availability, ratings, and badges. get_profile retrieves a single freelancer's full profile including languages spoken, experience headline, and badge tier. autocomplete helps surface relevant specialty terms from a partial query string.

Try it
Search query for freelancer expertise (e.g., 'developpeur frontend', 'designer graphique', 'data scientist')
City name to filter results by location (e.g., 'Paris', 'Lyon')
api.parse.bot/scraper/f4ca74ee-b27a-4850-8f6d-9c37af345224/<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/f4ca74ee-b27a-4850-8f6d-9c37af345224/search_freelancers?query=developpeur+frontend&location=Paris' \
  -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 malt-fr-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.

"""Malt Freelancer Marketplace — search freelancers, view profiles, autocomplete."""
from parse_apis.malt_freelancer_marketplace_api import Malt, ProfileNotFound

client = Malt()

# Autocomplete: discover specialties matching a prefix
suggestion = client.suggestions.search(query="dev")
print(f"Suggestions for 'dev': {suggestion.suggestions[:5]}")

# Search freelancers by expertise, capped to 5 results
for freelancer in client.freelancers.search(query="developpeur frontend", location="Paris", limit=5):
    print(f"{freelancer.first_name} — {freelancer.headline}, {freelancer.location.city}")

# Drill into the first result's detailed profile
first = client.freelancers.search(query="designer graphique", limit=1).first()
if first:
    profile = client.freelancerprofiles.get(username=first.profile_url.split("/")[-1])
    print(f"Profile: {profile.full_name}, {profile.headline}")
    print(f"  Rating: {profile.rating}, Reviews: {profile.review_count}")
    for lang in profile.languages:
        print(f"  Language: {lang.name} ({lang.level})")

# Typed error handling for a non-existent profile
try:
    client.freelancerprofiles.get(username="this-user-does-not-exist-xyz")
except ProfileNotFound as exc:
    print(f"Profile not found: {exc.username}")

print("Exercised: suggestions.search / freelancers.search / freelancerprofiles.get / ProfileNotFound")
All endpoints · 3 totalmissing one? ·

Search for freelancers by keyword or expertise on Malt.fr. Returns up to 24 profiles per page with name, headline, skills, pricing, location, ratings, and availability. Pagination metadata indicates total results and page count. Location filter narrows results to a specific city.

Input
ParamTypeDescription
queryrequiredstringSearch query for freelancer expertise (e.g., 'developpeur frontend', 'designer graphique', 'data scientist')
locationstringCity name to filter results by location (e.g., 'Paris', 'Lyon')
Response
{
  "type": "object",
  "fields": {
    "query": "string - the search query submitted",
    "profiles": "array of freelancer profile summaries with id, first_name, headline, profile_url, photo_url, location, price, availability, stats, badges, skills",
    "search_id": "string - unique identifier for this search",
    "pagination": "object with current_page, total_pages, total_elements, first_item, last_item",
    "search_type": "string - search scope type (e.g. HOST_COUNTRY_REMOTE)"
  },
  "sample": {
    "data": {
      "query": "developpeur frontend",
      "profiles": [
        {
          "id": "63104ac972c8fb347f0b250f",
          "price": {
            "amount": 480,
            "currency": "EUR",
            "formatted": "480 €",
            "visibility": "VISIBLE"
          },
          "stats": {
            "rating": 5,
            "missions_count": 9,
            "recommendations_count": 5
          },
          "badges": [
            "SUPER_MALTER_2",
            "SUPER_MALTER_1",
            "SUPER_MALTER_3"
          ],
          "skills": [
            {
              "label": "Développeur web",
              "certified": false
            },
            {
              "label": "Next.js",
              "certified": false
            },
            {
              "label": "React.js",
              "certified": false
            }
          ],
          "headline": "Développeur frontend | React.JS | NextJS",
          "location": {
            "city": "Paris",
            "type": "EVERYWHERE",
            "country": "France",
            "country_code": "FR"
          },
          "photo_url": "https://dam.malt.com/daf222f1-2786-4cc8-b4c6-84865d7af29b",
          "first_name": "Virgile",
          "profile_url": "https://www.malt.fr/profile/virgilerietsch",
          "availability": {
            "status": "AVAILABLE_AND_VERIFIED",
            "frequency": "FULL_TIME"
          }
        }
      ],
      "search_id": "6a2a4a5c915e0e5536bf0e8e",
      "pagination": {
        "last_item": 24,
        "first_item": 1,
        "total_pages": 25,
        "current_page": 1,
        "total_elements": 600
      },
      "search_type": "HOST_COUNTRY_REMOTE"
    },
    "status": "success"
  }
}

About the Malt API

Searching Freelancers

The search_freelancers endpoint accepts a query string (e.g., developpeur frontend, data scientist) and an optional location filter (e.g., Paris, Lyon). Each call returns up to 24 profile objects from the first results page. Profile objects include id, first_name, headline, profile_url, photo_url, location, price, availability, stats, badges, and skills. The response also includes a search_id, a search_type field indicating scope (such as HOST_COUNTRY_REMOTE), and a pagination object with current_page, total_pages, total_elements, first_item, and last_item.

Detailed Profile Lookup

The get_profile endpoint takes a username exactly as it appears in the Malt.fr profile URL. It returns a richer view of a single freelancer: full_name, headline, skills array, languages (each with name and level), location (city, country, country_code), price (amount, currency, and a hidden boolean), rating out of 5, and a badge string indicating tier (e.g., SUPER_MALTER_L3, SUPER_MALTER_L2).

Autocomplete Suggestions

The autocomplete endpoint accepts a short query prefix such as dev, design, or data and returns up to 15 suggestion strings covering freelancer specialties and skill terms. This is useful for building type-ahead search inputs or normalizing query terms before passing them to search_freelancers.

Reliability & maintenanceVerified

The Malt API is a managed, monitored endpoint for malt.fr — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when malt.fr 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 malt.fr 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
2d ago
Latest check
3/3 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
  • Build a freelancer discovery tool filtered by skill and city using search_freelancers with query and location params
  • Aggregate pricing data across freelancer profiles to benchmark typical day rates by specialty
  • Identify top-rated Malt freelancers by parsing rating and badge fields from get_profile
  • Power a type-ahead search component using the autocomplete endpoint to normalize user input
  • Monitor a freelancer's availability status and pricing over time via periodic get_profile calls
  • Compare skill sets across multiple profiles by collecting the skills array from search results
  • Build a language-filtered freelancer shortlist using the languages field returned by get_profile
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 Malt.fr offer an official developer API?+
Malt does not publish a public developer API for querying freelancer profiles or search results. The Parse Malt.fr API provides structured access to this data without requiring direct site access.
What does `search_freelancers` return beyond basic name and title?+
Each profile object in the results includes price, availability, location, stats, badges, and a skills array alongside the freelancer's headline and profile_url. The response-level pagination object tells you total_pages and total_elements so you know the scope of results, and search_type indicates whether the search covers the host country, remote, or another scope.
Does `get_profile` return a freelancer's work history or project portfolio?+
Not currently. get_profile covers identity fields, skills, languages, location, price, rating, and badge tier. Work history and portfolio items are not exposed. You can fork the API on Parse and revise it to add an endpoint targeting that profile section.
How does pagination work with `search_freelancers`?+
Each call returns results from the first page only — up to 24 profiles — along with a pagination object containing current_page, total_pages, total_elements, first_item, and last_item. Paginating through subsequent pages is not currently supported by this endpoint. You can fork the API on Parse and revise it to accept a page parameter and return additional result pages.
Can I filter search results by price range or availability status?+
The search_freelancers endpoint currently accepts only query and location as input parameters. Price and availability data are present in the response fields but cannot be used as pre-query filters through this API. You can fork the API on Parse and revise it to pass additional filter parameters to the endpoint.
Page content last updated . Spec covers 3 endpoints from malt.fr.
Related APIs in B2b DirectorySee all →
freelancer.de API
Search and discover freelancers on freelancer.de by their skills and expertise, then view detailed profiles with ratings, experience metrics, and portfolio information. Find the perfect freelancer for your project by browsing skill sets and comparing professional backgrounds all in one place.
upwork.com API
Access comprehensive details about Upwork job postings, including descriptions, budgets, required skills, client information, and engagement metrics to help you find and evaluate opportunities. Monitor job activity and client profiles to make informed decisions about which projects to pursue.
mostaql.com API
Browse projects and freelancers on Mostaql.com's Arabic marketplace, view detailed project information and freelancer profiles, and explore available project categories. Find the right talent or opportunities that match your skills and requirements.
hellowork.com API
Search and browse job listings and company profiles on HelloWork, France's leading job board. Filter by keyword, location, contract type, salary, and more.
fr.indeed.com API
Search job listings and get detailed information about positions, companies, and alternance opportunities on Indeed France, all in one place. Access comprehensive company profiles and job details to find your next career move or research employers.
serviceseeking.com.au API
Search and browse job postings and local service providers across Australia on ServiceSeeking.com.au. View detailed business profiles, ratings, pricing, and explore hundreds of service categories — from tradespeople to home services and beyond.
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.
superprof.com API
Search for private tutors by subject and location, then access their detailed profiles with reviews, qualifications, pricing, and availability. Discover top-rated tutors featured on the platform to find the perfect match for your learning needs.