gregmat.com APIwww.gregmat.com ↗
Access GregMat's GRE prep content via API: study plans, video courses, recorded classes, and practice problems with difficulty and category filters.
curl -X GET 'https://api.parse.bot/scraper/2b9de531-27a7-4cc7-a610-3dcaae141af4/list_study_plans' \ -H 'X-API-Key: $PARSE_API_KEY'
List all available GRE study plans with pagination. Returns plan titles, slugs, and whether they require a Plus subscription.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of study plans to return per page. |
| offset | integer | Number of results to skip for pagination. |
{
"type": "object",
"fields": {
"count": "integer",
"results": "array of study plan summaries with title, slug, img, plus_only"
},
"sample": {
"count": 37,
"results": [
{
"img": null,
"slug": "week-1-of-the-one-month-study-plan",
"title": "Week 1 of the One-Month Study Plan",
"plus_only": false
},
{
"img": null,
"slug": "the-gmat-study-plan",
"title": "The GMAT Study Plan",
"plus_only": false
}
]
}
}About the gregmat.com API
The GregMat API exposes 5 endpoints covering GregMat's GRE preparation content, including structured study plans, video course catalogs, recorded class sessions, and a filterable practice problem bank. The list_problems endpoint alone returns per-problem metadata such as difficulty, acceptance rate, question type, and solution video availability, while get_study_plan delivers full unit breakdowns by slug for any plan on the platform.
Study Plans and Courses
The list_study_plans endpoint returns a paginated list of available GRE study plans, each summarized with a title, slug, img, and a plus_only boolean indicating whether a GregMat Plus subscription is required. Passing a slug to get_study_plan returns the full plan structure: an array of units, each carrying an id, title, HTML description (which embeds links to videos, courses, and problems), and its own plus_only flag. The get_course endpoint similarly accepts a slug — such as must-see-videos — and returns a nested structure of classgroups, each containing individual class entries with title, slug, class_type, img, and description, plus an ongoing boolean for courses that are still being produced.
Recorded Classes and Practice Problems
list_recent_classes provides a paginated feed of completed class recordings. Each result includes starts_at, ends_at, class_type, homeworks, video, and an associated courses array, making it straightforward to surface the latest session content or build a class archive index. The list_problems endpoint is the most filter-rich surface in the API: callers can narrow results by category (quant or verbal), difficulty (Easy, Medium, Hard), question_type (e.g., Quantitative Comparison, Numeric Entry, Multiple Choice), tag (numeric ID for topic areas like Triangles or Fractions), and a free-text query. Each problem in the results carries id, title, slug, type, difficulty, dynamic_difficulty, acceptance, has_solution_video, and likes.
Pagination
All list endpoints — list_study_plans, list_recent_classes, and list_problems — share a consistent pagination model using limit and offset integer parameters. Each response includes a top-level count field representing the total number of matching records, so callers can implement standard page-based or cursor-style navigation without additional requests.
- Build a GRE study schedule tool that pulls plan units from
get_study_planand tracks user progress through each unit. - Create a practice problem drill app filtered by
difficultyandquestion_typeusinglist_problems. - Surface a daily GRE problem feed by querying
list_problemswithcategory=quantorcategory=verbalon a schedule. - Index all GregMat video course content by iterating
get_courseslugs to build a searchable class library. - Identify weak-topic practice sets by filtering
list_problemsbytagIDs for specific math or verbal topics. - Display a recently aired class feed in a GRE prep dashboard using
list_recent_classeswithstarts_atandends_attimestamps. - Flag premium-gated content in a third-party GRE planner by reading the
plus_onlyfield from study plan and unit responses.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does GregMat have an official public developer API?+
What does `list_problems` return and how can I filter it?+
list_problems returns a paginated array of GRE practice problems, each with fields including id, title, slug, difficulty, dynamic_difficulty, acceptance, has_solution_video, likes, and type. You can filter by category (quant or verbal), difficulty, question_type, tag (a numeric topic ID), and a free-text query string. Combine filters freely — for example, category=quant with difficulty=Hard and question_type=Quantitative Comparison narrows to that specific problem subset.Does the API expose the actual problem content or video URLs?+
list_problems endpoint returns problem metadata — title, slug, difficulty, acceptance rate, and whether a solution video exists — but does not return raw problem text or direct video stream URLs. Study plan unit description fields contain HTML with embedded links to videos and resources. You can fork this API on Parse and revise it to add an endpoint that resolves individual problem or video content by slug.Are there any limitations around Plus-only content?+
plus_only boolean that indicates whether a GregMat Plus subscription is required to access that content on the site. The API returns these records in listings and plan detail responses, but content behind the Plus paywall — such as locked unit descriptions — may return limited or empty fields depending on the resource. This is a constraint of the source content, not the API structure.Can I retrieve a list of all available course slugs to use with `get_course`?+
get_course requires a known slug (the documented example is must-see-videos). Course slugs appear as embedded links within study plan unit HTML descriptions returned by get_study_plan. You can fork this API on Parse and revise it to add a course-listing endpoint that enumerates all available course slugs.