# Netflix/falcor

A JavaScript library for efficient data fetching

Repository: https://github.com/Netflix/falcor
Canonical: https://ross.abutalabs.com/products/falcor
Homepage: http://netflix.github.io/falcor
Language: JavaScript
License: Apache-2.0
License Family: permissive
Last push: 2025-08-28T19:54:07+00:00

## Health v2 (maintenance only)
Score: 50/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 39, release rhythm 35, longevity 100
- inputs: {"age_days": 4220, "days_push": 370, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 10569, forks 444 (observed 2026-08-28T04:10:42.391051+00:00)

## What it is
Falcor is a JavaScript library that lets you represent all remote data sources as a single virtual JSON graph model, fetching data efficiently with JavaScript-like path syntax. It transparently handles network communication, batching and de-duplicating requests, with a Router for building Virtual JSON resources on the server.

## Use cases
- fetch data efficiently from multiple backend sources as one model
- reduce network requests by batching and de-duping data fetches
- serve a virtual JSON graph endpoint from an express server
- access remote data with the same code as in-memory data
- build a Netflix-style application data layer
- retrieve only the data paths needed on demand

## When to choose
- your app pulls data from many backend services and you want one unified client-side model
- you want automatic request batching, de-duping, and path-based data retrieval
- you prefer a data-driven API where the shape of the data defines the interface
- you're building a rich single-page app with complex, interconnected data

## When to avoid
- you want a modern, actively evolving ecosystem - Falcor development has slowed and GraphQL is the mainstream alternative
- you need simple REST endpoints without a virtual graph abstraction
- your team is unwilling to learn Falcor's JSON Graph path syntax and Router model
- you rely on a large community with many third-party integrations

## Facets
- artifact type: library
- maturity: maintenance
- function: http-client, middleware, serialization, caching
- domain: web-development, frontend, backend, apis
- platform: browser
- tags: data-fetching, virtual-json-graph, json-graph, observable, express-middleware, netflix, data-modeling, request-batching, javascript, nodejs, web-server

## Member repositories
- Netflix/falcor (main) score 50

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:42.391051+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:18:31.791827+00:00, confidence not recorded.
  - readme: https://github.com/Netflix/falcor (fetched 2026-08-28T04:10:42.391051+00:00, sha 9a4cfd061530)
  - homepage: http://netflix.github.io/falcor (fetched 2026-08-29T08:18:02.019350+00:00, sha 1b776eb10de6)
  - registry_npm: https://registry.npmjs.org/falcor (fetched 2026-08-29T08:18:02.029321+00:00, sha 3d85410f99a4)
- Data as of 2026-08-30T08:39:29.467469+00:00.
