Discover/Org API
live

Org APItheppra.org.za

Search the South African PPRA public register for licensed property practitioners and firms by name or reference number. Verify FFC numbers and registration status.

This API takes change requests — .
Endpoint health
verified 2h ago
search_practitioners
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the Org API?

The PPRA API exposes 1 endpoint — search_practitioners — that queries the South African Property Practitioners Regulatory Authority public register and returns up to several matched records per query, each containing the practitioner or firm's full name, FFC number, registration details, and more. It supports four distinct search modes: practitioner name, practitioner reference number, firm name, and firm reference number.

This call costs10 credits / call— charged only on success
Try it
The search query. For practitioner_name, provide 'FirstName Surname' (e.g. 'John Smith'). For practitioner_reference, provide the 7-digit reference number. For firm_name, provide the firm or trading name. For firm_reference, provide the reference number starting with 'F' (e.g. 'F123456').
The type of search to perform on the PPRA register.
api.parse.bot/scraper/d631a33d-441f-4969-a229-8b3cb2a3c7b9/<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/d631a33d-441f-4969-a229-8b3cb2a3c7b9/search_practitioners?query=John+Smith&search_type=practitioner_name' \
  -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 theppra-org-za-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: PPRA Practitioner Search — find registered property practitioners in South Africa."""
from parse_apis.theppra_org_za_api import Ppra, SearchType, InvalidSearchType

client = Ppra()

# Search for practitioners by name, capped at 5 results.
for practitioner in client.practitioners.search(query="John Smith", search_type=SearchType.PRACTITIONER_NAME, limit=5):
    print(practitioner.name, "|", practitioner.registration_status, "|", practitioner.firm_name)

# Search by firm name and drill into the first result.
hit = client.practitioners.search(query="Protea", search_type=SearchType.FIRM_NAME, limit=1).first()
if hit is not None:
    print(f"{hit.full_name} ({hit.card_code}) — {hit.category}, status: {hit.registration_status}")

# Demonstrate error handling for an invalid search type.
try:
    client.practitioners.search(query="test", search_type="invalid_type", limit=1).first()
except InvalidSearchType as e:
    print(f"Caught expected error: {e.message}")

print("exercised: practitioners.search (by name / by firm) + InvalidSearchType handling")
All endpoints · 1 totalmissing one? ·

Search the PPRA public register of property practitioners (estate agents) and firms. Accepts four search types: by practitioner name, practitioner reference number, firm name, or firm reference number. Returns matching results with details including full name, FFC number, registration status, firm name, capacity, and category. Each search makes one form submission plus one detail lookup per result (up to 10 results), so expect proportional latency. Fields like province, contact details, and FFC expiry date are not published by the register's public lookup.

Input
ParamTypeDescription
queryrequiredstringThe search query. For practitioner_name, provide 'FirstName Surname' (e.g. 'John Smith'). For practitioner_reference, provide the 7-digit reference number. For firm_name, provide the firm or trading name. For firm_reference, provide the reference number starting with 'F' (e.g. 'F123456').
search_typerequiredstringThe type of search to perform on the PPRA register.
Response
{
  "type": "object",
  "fields": {
    "query": "The search query that was submitted",
    "results": "Array of practitioner/firm records with details",
    "search_type": "The search type used",
    "total_results": "Number of matching results returned"
  },
  "sample": {
    "data": {
      "query": "John Smith",
      "results": [
        {
          "name": "John Edwin Smith",
          "type": "agent",
          "capacity": "Employee",
          "category": "Estate Agency",
          "card_code": "SMITHJO18",
          "firm_name": "PROTEA PROPERTY MANAGERS (PTY) LTD",
          "full_name": "JOHN EDWIN SMITH",
          "ffc_number": "202570044500000",
          "trade_name": "PROTEA PROPERTY MANAGERS",
          "registration_status": "Valid"
        }
      ],
      "search_type": "practitioner_name",
      "total_results": 10
    },
    "status": "success"
  }
}

About the Org API

What the API covers

The search_practitioners endpoint queries the PPRA public register, the official South African database of licensed property practitioners (estate agents) and registered firms. The register is maintained by the Property Practitioners Regulatory Authority under the Property Practitioners Act. Results include fields such as full name, FFC number (Fidelity Fund Certificate number), and registration details for each matched record.

Inputs and search modes

The endpoint takes two required parameters: query and search_type. The search_type field controls which part of the register is searched and must be one of four values: practitioner_name, practitioner_ref, firm_name, or firm_ref. For practitioner_name, supply a full name string such as 'Jane Dlamini'. For reference-based searches, supply the numeric or alphanumeric reference assigned by the PPRA. Mixing up the search type and query format (e.g. passing a name when a reference number is expected) will return zero results.

Response shape

The response envelope always includes query (the original search string), search_type (the mode used), total_results (integer count of matches), and results (array of practitioner or firm records). Each record in results carries identifying and registration data — at minimum the registrant's name and FFC number. A total_results value of 0 indicates no matching records exist in the register for the submitted query.

Reliability & maintenanceVerified

The Org API is a managed, monitored endpoint for theppra.org.za — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when theppra.org.za 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 theppra.org.za 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
2h 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
  • Verify that an estate agent holds a valid FFC number before signing a mandate agreement
  • Check whether a property firm is registered with the PPRA before engaging their services
  • Automate compliance checks on a list of agent reference numbers during onboarding
  • Look up practitioner registration status by full name for due diligence workflows
  • Cross-reference FFC numbers from agent business cards against the official PPRA register
  • Build a South African real estate directory that surfaces only PPRA-registered practitioners
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the PPRA provide an official developer API?+
No. The PPRA does not publish an official public developer API or documented REST interface for the practitioner register at theppra.org.za. This Parse API provides structured programmatic access to the same register data.
What does the search_practitioners endpoint return for each matched record?+
Each record in the results array includes the registrant's full name, FFC number, registration details, and whether the result is a practitioner or a firm. The total_results field tells you how many records matched. If no records match, results is an empty array and total_results is 0.
Does the API return historical or expired registrations?+
The API reflects the current state of the PPRA public register. Records for practitioners whose FFC has lapsed or been cancelled may not appear, depending on how the register is maintained by the PPRA. There is no dedicated endpoint for querying historical registration periods or past FFC validity dates.
Can the API return a full list of all registered practitioners without a specific query?+
Not currently. The search_practitioners endpoint requires a query string and a search_type, so results are always scoped to a specific name or reference number lookup rather than a bulk export. You can fork this API on Parse and revise it to add a pagination-based bulk listing endpoint if the register supports that access pattern.
Can I search by province, city, or specialisation?+
Not currently. The API supports searches by practitioner name, practitioner reference number, firm name, and firm reference number only. Geographic or specialisation filters are not exposed. You can fork this API on Parse and revise it to add location-based filtering if the underlying register surfaces those fields.
Page content last updated . Spec covers 1 endpoint from theppra.org.za.
Related APIs in Government PublicSee all →
pirbonline.co.za API
Search South Africa's official Plumbing Industry Registration Board database to verify licensed plumbers and view their registration status, province location, and affiliated companies. Instantly confirm a plumber's credentials and credentials details before hiring.
privateproperty.co.za API
Search and browse property listings for sale and rent across South Africa by location, price, features, and size, then view detailed information about specific properties. Get location suggestions to help narrow down your search area.
sra.org.uk API
Search for UK solicitors by name and retrieve their detailed registration information from the SRA register, including their SRA number and professional credentials. Browse through the complete solicitor directory to verify qualifications and find regulated legal professionals in the United Kingdom.
propertyfinder.ae API
Search and browse properties across the UAE, view detailed listings with agent and broker information, and discover locations all in one place. Find the perfect property, connect with real estate agents, and explore company profiles to make informed decisions.
propertypal.com API
Search and browse thousands of properties across Northern Ireland including rentals, sales, and commercial listings while accessing agent details, price trends, and market news. Get comprehensive property information, open viewing schedules, and real estate insights all in one place.
property24.com API
Search and explore properties across South Africa through Property24's comprehensive marketplace, accessing detailed listings, suburb trends, and historical sold prices to inform your property decisions. Use location autocomplete to quickly find neighborhoods and compare market insights all in one place.
ddproperty.com API
Search and browse property listings across Thailand for both sale and rent, view detailed property information, explore locations, and calculate mortgage payments to help with your real estate decisions.
service.asic.gov.au API
Search and retrieve comprehensive information about Australian financial professionals and entities, including AFS and credit licensees, their representatives, liquidators, auditors, and managed investment schemes. Verify credentials, check regulatory status, and access detailed profiles of financial service providers registered with ASIC.