This project provides a single Val Town HTTP val that reads your LinkedIn DMA (Member Data Portability) snapshot and exports it into several developer‑friendly CV formats. It is designed as a stateless adapter: LinkedIn is the only data source, and all outputs are pure transformations of the exported snapshot.
aboutMe, experience
(jobs, volunteering, projects), and knowledge (skills, studies,
certifications, publications, awards, languages).
MAC format repositorybasics, work, volunteer, education, awards, publications,
skills, languages, projects, and certificates.
JSON Resume schemarendercv.yaml).
RenderCV documentationmemberSnapshotData arrays
for inspection.This val uses LinkedIn’s Member Data Portability (DMA) APIs
(memberSnapshotData endpoint).
The Val Town script acts as a single HTTP handler:
Authorization: Bearer <token> header, a ?token= query parameter, or a Val
Town environment variable (token).LIFullProfile): To minimize HTTP calls, CV
generation endpoints use a single, paginated API request without specifying
a domain. This automatically fetches all available snapshot data at once,
saving time and rate limits.Returns the aggregated LIFullProfile JSON object containing all fetched
domains. Useful for quick diagnostics.
Returns a JSON object strictly mapped to the Manfred Awesomic CV format.
Includes extracted profile images from RICH_MEDIA.
Returns a JSON Resume compatible object.
Downloads a generated rendercv.yaml file. The output is converted from JSON to
a valid YAML structure using the standard yaml package and is served with a
Content-Disposition: attachment header.
Allows inspection of the raw, unmapped data structures returned by LinkedIn.
GET /debug: Returns an HTTP 400 error (requires a query parameter).GET /debug?analyzeDomains: Scans your entire snapshot and returns a summary
counting the number of items found inside each domain.GET /debug?domains: Fetches all available domains for your account in a
single optimized request and returns the full JSON.GET /debug?domains=PROJECTS: Fetches exactly 1 domain using a direct
domain=PROJECTS API call.GET /debug?domains=PROJECTS,SKILLS: Fetches all data using the optimized
single-request algorithm, then filters and returns only the requested domains
locally.token environment variable in the
Val settings (or pass it in your requests).https://<your-val>.web.val.run/rendercv).