Discover/resumes API
live

resumes APIresumes.fyi

Access 1900+ real resumes from resumes.fyi that passed screens at top tech companies. Filter by role, level, company, school, and verification status.

Endpoint health
verified 2d ago
get_resume
list_resumes
2/2 passing latest checkself-healing
Endpoints
2
Updated
26d ago

What is the resumes API?

The resumes.fyi API exposes data from over 1,900 real resumes that cleared hiring screens at top tech companies, across 2 endpoints. list_resumes lets you paginate and filter the full catalog by role, experience level, company, school, and verification status, returning resume image URLs alongside structured metadata. get_resume retrieves a single resume in detail, including complete skill lists, education records, and company tags.

Try it
Page number (1-indexed).
Filter by role slug.
Filter by level.
Results per page (max 50).
Filter by school/university name.
Filter by company slug (e.g. google, meta, amazon).
Only show verified resumes.
api.parse.bot/scraper/3526a972-388a-49e4-b3f3-ce1a8880114e/<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/3526a972-388a-49e4-b3f3-ce1a8880114e/list_resumes?page=1&role=software-engineer&level=intern&limit=5&school=Stanford+University&company=google&verified_only=False' \
  -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 resumes-fyi-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: Resumes.fyi SDK — browse and analyze tech resumes."""
from parse_apis.resumes_fyi_api import ResumesFyi, Role, Level, ResumeNotFound

client = ResumesFyi()

# List software engineer resumes, capped at 5 total items
for resume in client.resumes.list(role=Role.SOFTWARE_ENGINEER, limit=5):
    print(resume.first_name, resume.last_name, "-", resume.role, "|", resume.view_count, "views")

# Drill into a single resume for full details
resume = client.resumes.list(level=Level.INTERN, company="google", limit=1).first()
if resume:
    detail = client.resumes.get(username=resume.username)
    print(detail.first_name, detail.last_name)
    print("Skills:", detail.skills[:5])
    for exp in detail.experiences:
        print(f"  {exp.position} at {exp.company} ({exp.start_date} - {exp.end_date})")
    for edu in detail.educations:
        print(f"  {edu.degree} from {edu.school}, GPA: {edu.gpa}")

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

print("exercised: resumes.list / resumes.get / Role enum / Level enum / ResumeNotFound error")
All endpoints · 2 totalmissing one? ·

List resumes with metadata and image URLs. Supports pagination and filtering by role, level, company, school, and verified status. Returns resume summaries including user info, companies, skills, experiences, and education. Results are sorted by most-screened. Each page returns up to 50 results; use the page parameter to advance through the full set.

Input
ParamTypeDescription
pageintegerPage number (1-indexed).
rolestringFilter by role slug.
levelstringFilter by level.
limitintegerResults per page (max 50).
schoolstringFilter by school/university name.
companystringFilter by company slug (e.g. google, meta, amazon).
verified_onlybooleanOnly show verified resumes.
Response
{
  "type": "object",
  "fields": {
    "page": "integer - current page number",
    "limit": "integer - results per page",
    "total": "integer - total number of matching resumes",
    "resumes": "array of resume summary objects with username, user_id, first_name, last_name, resume_id, resume_image_url, role, role_slug, level, education, country, verified, like_count, view_count, created_at, company_name, companies, skills, experiences, educations, profile_urls, user_image",
    "has_more": "boolean - whether more pages exist",
    "total_pages": "integer - total number of pages"
  }
}

About the resumes API

Browsing and Filtering Resumes

The list_resumes endpoint returns a paginated array of resume objects sortable by most-screened. Each item includes username, resume_id, resume_image_url, role, role_slug, level, and associated companies and education. You can narrow results with query parameters: role accepts slugs like software-engineer, data-scientist, product-manager, and product-designer; level accepts values like intern, new-grad, full-time, and contract; and company accepts slugs such as google, meta, or amazon. The verified_only boolean restricts results to resumes that carry verified status. Pagination is controlled via page (1-indexed) and limit (up to 50 per page), with total, total_pages, and has_more returned to support cursor-style traversal.

Retrieving a Single Resume

The get_resume endpoint accepts a username — obtainable from list_resumes results — and returns the full detail record for that resume. Response fields include skills (an array of strings), companies (array of objects with name, slug, and domain), educations (array with school, degree, major, and gpa), resume_image_url, role_slug, and the unique resume_id and user_id. This is the right endpoint when you need the complete skills list or full education history rather than the summary fields returned in list results.

Coverage and Scope

The dataset covers roles across software engineering, data science, product management, and product design. Experience levels span intern through freelance and contract. Resumes can be optionally filtered to those marked verified, which resumes.fyi uses to indicate the candidate successfully cleared a resume screen at a named company. The companies field on each resume reflects where the resume was accepted, not merely where the candidate worked.

Reliability & maintenanceVerified

The resumes API is a managed, monitored endpoint for resumes.fyi — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when resumes.fyi 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 resumes.fyi 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
2/2 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
  • Analyze which skills appear most frequently on verified software-engineer resumes at FAANG companies by aggregating the skills array across filtered results.
  • Build a resume benchmark tool that compares a user's education details against the educations field from resumes at their target company.
  • Scrape resume image URLs via resume_image_url to create a visual gallery of accepted resumes for a specific role and level combination.
  • Generate a dataset of GPA distributions among new-grad hires at top tech firms using the gpa field from educations.
  • Power a job-prep app that surfaces real resumes for a given company slug so candidates can study formats that passed screening.
  • Filter by school parameter to identify which universities are most represented among verified resumes at specific companies.
  • Compare resume structures across level values (intern vs. full-time) to study how detail and length shift with seniority.
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 resumes.fyi have an official developer API?+
No. resumes.fyi does not publish a public developer API or API documentation. This Parse API is the structured way to access its resume data programmatically.
What does `get_resume` return that `list_resumes` doesn't?+
get_resume returns the complete skills array, full educations records (including degree, major, and gpa), and the full companies array with domain fields. list_resumes returns a summary subset of these fields sufficient for browsing but not for detailed analysis.
Does the API return the actual resume PDF or only an image?+
Both endpoints return a resume_image_url field, which points to an image rendering of the resume. PDF files are not exposed. You can fork this API on Parse and revise it to add a PDF download endpoint if the source makes that format available.
Can I filter resumes by a specific skill, such as 'Python' or 'Figma'?+
Not currently. The API filters by role, level, company, school, and verified_only. Skill-level filtering is not a supported parameter. You can fork this API on Parse and revise it to add a skill-based filter endpoint.
How fresh is the resume data, and how many resumes are available in total?+
The dataset reflects over 1,900 resumes as indexed on resumes.fyi. The total field in list_resumes responses always reflects the current count matching your filters. Freshness depends on when resumes.fyi's own catalog is updated; the API returns whatever is currently available in the catalog.
Page content last updated . Spec covers 2 endpoints from resumes.fyi.
Related APIs in JobsSee all →
levels.fyi API
Access real compensation data, benefits packages, and salary trends across tech companies and job levels. Retrieve internship pay, H-1B visa salary records, company profiles, and detailed breakdowns by role and level.
wellfound.com API
Search and discover startup jobs, company profiles, and trending opportunities on Wellfound by role and location, with detailed job information and autocomplete suggestions to streamline your job search. Access comprehensive company data and stay updated on what's trending in the startup ecosystem.
nofluffjobs.com API
Search and filter job openings from No Fluff Jobs by category, seniority level, location, and keywords to find IT, marketing, sales, and HR positions tailored to your needs. Retrieve detailed information about specific job postings including requirements, company details, and employment terms to help you make informed application decisions.
timesjobs.com API
Search and browse job listings from TimesJobs.com to find positions by role, category, and company, while discovering popular job roles, featured employers, and detailed job information. Filter opportunities using available facets and explore career statistics to match your skills with the right opportunities.
metacareers.com API
Search and browse Meta job openings across all departments and locations. Filter by keyword, experience level, or role category — including University Graduate and AR/VR specializations — and retrieve comprehensive details for each listing, including job description, requirements, salary range, and application link.
indeed.com API
Search and discover job opportunities on Indeed while accessing detailed job descriptions, company profiles, and salary insights all in one place. Get comprehensive career information including specific compensation data to help you find and evaluate the right job opportunity for you.
wayup.com API
Search and filter college-focused job and internship listings from WayUp by category, job type, and location. Access detailed information about specific listings, including job descriptions, qualifications, company info, and posting dates.
topstartups.io API
Access startup profiles, funding data, job listings, and salary benchmarks from TopStartups.io. Filter by industry, location, funding stage, company size, and more to explore the startup landscape at scale.