Discover/Faradars API
live

Faradars APIfaradars.org

Access Faradars course catalog via API. Search thousands of Persian video courses, retrieve full metadata, pricing, ratings, and category trees.

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

What is the Faradars API?

The Faradars API exposes 3 endpoints covering Faradars.org, Iran's Persian-language online education platform hosting thousands of video courses. Use search_courses to query the full catalog by keyword, category, or sort order, and get_course_details to retrieve per-course metadata including title, price in Tomans, instructor list, duration breakdown, learning objectives, and rating data. list_categories returns the complete category hierarchy for structured browsing.

This call costs1 credit / call— charged only on success
Try it
Page number for pagination (1-based).
Sort order for results.
Search keyword (e.g. 'python', 'excel'). Omitting returns all courses.
Number of results per page (max 100).
Category ID to filter results. IDs are available from the list_categories endpoint (e.g. '1049' for programming).
api.parse.bot/scraper/ffef4af3-6506-4b45-8cf9-d9a1bfed5e01/<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/ffef4af3-6506-4b45-8cf9-d9a1bfed5e01/search_courses?sort=relevance&term=python&category_id=7609' \
  -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 faradars-org-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: Faradars SDK — browse categories, search courses, drill into details."""
from parse_apis.faradars_org_api import Faradars, Sort, CourseNotFound

client = Faradars()

# List top-level categories to discover a category_id for filtering.
for cat in client.categories.list(limit=5):
    print(cat.id, cat.name, cat.slug)

# Search courses in the first category, sorted by popularity.
cat = client.categories.list(limit=1).first()
if cat is not None:
    for course in client.course_summaries.search(
        category_id=str(cat.id), sort=Sort.POPULAR, limit=3
    ):
        print(course.title, course.price, course.total_student)

# Drill down from a search hit to full course details via typed navigation.
hit = client.course_summaries.search(term="python", limit=1).first()
if hit is not None:
    detail = hit.details()
    print(detail.title_en, detail.rating.rate, detail.rating.total)
    print("Duration:", detail.duration.hours, "h", detail.duration.minutes, "m")
    for obj in detail.klo[:3]:
        print(" -", obj.objective)

# Direct point-lookup when the slug is already known.
try:
    course = client.courses.get(slug="install-python-fvpy326")
    print(course.title, course.is_free, course.sold_count)
except CourseNotFound:
    print("Course not found")

print("exercised: categories.list / course_summaries.search / details / courses.get")
All endpoints · 3 totalmissing one? ·

Search courses by keyword with optional category filtering and sorting. Returns paginated results with course summaries including title, price, duration, instructor, and popularity metrics. One upstream round-trip per call.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based).
sortstringSort order for results.
termstringSearch keyword (e.g. 'python', 'excel'). Omitting returns all courses.
countintegerNumber of results per page (max 100).
category_idstringCategory ID to filter results. IDs are available from the list_categories endpoint (e.g. '1049' for programming).
Response
{
  "type": "object",
  "fields": {
    "items": "array of course summaries with id, title, slug, price, duration, instructors, etc.",
    "pagination": "object with page, items_per_page, total_pages, total_items"
  },
  "sample": {
    "data": {
      "items": [
        {
          "id": 9233593,
          "sku": "fvpy326",
          "url": "https://faradars.org/courses/install-python-fvpy326",
          "slug": "install-python-fvpy326",
          "type": "course",
          "price": 0,
          "score": 168.56,
          "title": "آموزش رایگان نصب پایتون Python در ویندوز",
          "status": "published",
          "duration": {
            "hours": 0,
            "minutes": 37,
            "in_minutes": 37,
            "rounded_in_hour": 1
          },
          "png_image": "https://faradars.org/wp-content/uploads/2024/04/17/fvpy326.png",
          "svg_image": "https://faradars.org/wp-content/uploads/2024/04/17/fvpy326.svg",
          "total_sale": 9,
          "total_view": 300257,
          "instructors": [
            {
              "last_name": "محمدی",
              "first_name": "عباس"
            }
          ],
          "title_short": "آموزش نصب پایتون در ویندوز",
          "total_student": 15683,
          "has_certificate": false
        }
      ],
      "pagination": {
        "page": 1,
        "total_items": 411,
        "total_pages": 137,
        "items_per_page": 3
      }
    },
    "status": "success"
  }
}

About the Faradars API

Endpoints Overview

The API covers three main operations. search_courses accepts a term parameter for keyword queries (e.g. 'python', 'excel') alongside optional category_id, sort, count (up to 100 per page), and page for pagination. It returns an items array of course summaries—each with id, title, slug, price, duration, and instructor data—plus a pagination object containing total_items, total_pages, page, and items_per_page.

Course Details

get_course_details takes a slug (e.g. 'install-python-fvpy326', obtained from search results) and returns the full course record. Fields include title and title_en for Persian and English names, price as an integer in Tomans (0 for free courses), is_free boolean, a duration object with hours, minutes, and in_minutes, a rating object with rate and total review count, a klo array of key learning objectives, and a categories array. This is the primary endpoint for building course detail pages or enrichment pipelines.

Category Hierarchy

list_categories requires no parameters and returns the full category tree as a nested array. Each node carries an id, name, slug, and optional childs array for subcategories. Category IDs from this endpoint feed directly into the category_id filter on search_courses, enabling structured browsing by subject area (e.g. programming, design, business).

Coverage and Language

Faradars focuses on Persian-language content for Iranian learners. Course titles are primarily in Persian, though title_en provides an English equivalent where available. All pricing is expressed in Tomans. The platform covers a wide range of technical and vocational subjects; category depth and course count vary by subject area.

Reliability & maintenanceVerified

The Faradars API is a managed, monitored endpoint for faradars.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when faradars.org 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 faradars.org 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
1h 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 Persian e-learning aggregator that indexes course titles, prices, and instructors from Faradars alongside other platforms.
  • Track price changes on specific courses using repeated calls to get_course_details and comparing the price field over time.
  • Filter programming courses by category_id from list_categories and rank them by rating to surface top-rated technical content.
  • Generate a structured course catalog for a Persian-language educational directory using search_courses pagination across all categories.
  • Enrich an internal LMS by pulling learning objectives from the klo array and course duration from the duration object.
  • Identify free courses on the platform by filtering search results where is_free is true and price equals 0.
  • Map the full subject taxonomy for Faradars by traversing the nested childs arrays returned by list_categories.
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 Faradars have an official developer API?+
Faradars does not publish a documented public developer API or API portal for third-party access to its course catalog.
What does get_course_details return beyond what search_courses provides?+
search_courses returns a summary per course: id, title, slug, price, duration, and instructors. get_course_details adds the full description, key learning objectives (klo array), detailed rating object with review count, English title (title_en), is_free boolean, and the complete categories array. The slug from search results is the required input.
Does the API return course curriculum or individual lesson data?+
The current endpoints return course-level metadata including learning objectives via the klo field, but do not expose individual lesson titles, video durations per lesson, or section-level curriculum breakdowns. You can fork this API on Parse and revise it to add an endpoint targeting per-lesson content.
What is the maximum number of results search_courses can return per call?+
The count parameter accepts a maximum of 100 results per page. Use the pagination object fields—total_pages and total_items—to iterate through the full result set across multiple calls.
Are student enrollment counts or completion rates available?+
The API does not currently expose enrollment counts or completion rates. The rating object provides a rate score and total review count per course, which serves as the available popularity signal. You can fork this API on Parse and revise it to surface enrollment or completion data if that becomes available on the source.
Page content last updated . Spec covers 3 endpoints from faradars.org.
Related APIs in EducationSee all →
coloso.global API
Discover and browse Coloso's entire course catalog by searching products, filtering by categories, and viewing details on new releases, best sellers, and free classes. Get insights into promotional events, trending keywords, and personalized recommendations to find the perfect creative courses.
theodinproject.com API
Access The Odin Project's complete curriculum structure including paths, courses, lessons, resources, and projects, plus search lessons and view detailed changelogs. Browse course outlines, find specific lessons and their learning materials all in one place.
duolingo.com API
Browse Duolingo's complete language course catalog to discover available courses, see how many learners are enrolled in each, and identify the source and target language pairs offered. Find the perfect language learning path by viewing all courses in one place.
fundrazr.com API
Search and discover FundRazr crowdfunding campaigns by category, then access detailed information about campaign progress, activity, highlights, and organizer profiles. Get comprehensive insights into fundraising campaigns to track funding goals, supporter engagement, and campaign updates all in one place.
ucas.com API
Search and explore UK university courses, apprenticeships, and scholarships all in one place, while discovering detailed information about education providers and their offerings. Find the perfect educational path by filtering courses and apprenticeships by your preferences and accessing comprehensive provider details to inform your decisions.
hyperskill.org API
Explore Hyperskill.org's learning content by browsing tracks, projects, stages, and topics, or retrieve detailed information about any specific course component and educational provider. Search and filter through the platform's complete curriculum to find exactly what you need for your learning journey.
filmfreeway.com API
Search and discover film festivals worldwide with detailed information including deadlines, submission categories, fees, rules, and organizer contacts. Access comprehensive festival profiles, photos, and grant opportunities listed on FilmFreeway.
shiksha.com API
Search and browse Shiksha colleges by stream/course, then fetch detailed institute profiles and course offerings, plus upcoming exam schedules by stream.