{"adoption": {"forks": 2924, "observed_at": "2026-08-28T04:11:17.610013+00:00", "stars": 17038}, "canonical_url": "https://ross.abutalabs.com/products/apisix", "card": {"archived": false, "artifact_type": "service", "description": "The Cloud-Native API Gateway and AI Gateway", "domain": ["microservices", "apis", "cloud-computing", "large-language-models", "self-hosted"], "enriched": true, "function": ["api-gateway", "proxy", "routing", "rate-limiting", "auth", "service-discovery", "plugin-system", "monitoring"], "health_score": 100, "homepage": "https://apisix.apache.org/blog/", "language": "Lua", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["apache/apisix"], "name": "apache/apisix", "platform": ["cloud", "self-hosted", "lua"], "pushed_at": "2026-08-26T09:38:39+00:00", "repo": "apache/apisix", "stars": 17038, "tags": ["ai-gateway", "llm-gateway", "reverse-proxy", "load-balancing", "traffic-management", "circuit-breaking", "canary-release", "ingress-controller", "gateway-api", "openresty", "nginx", "etcd", "openapi", "observability", "hot-reload", "east-west-traffic", "north-south-traffic", "containers", "devops", "linux", "docker", "kubernetes", "web-server"], "topics": ["cloud-native", "nginx", "api-management", "luajit", "api-gateway", "microservices", "apisix", "api", "loadbalancing", "reverse-proxy", "serverless", "iot", "devops", "kubernetes", "kubernetes-ingress", "ai-gateway", "openapi", "openapi3", "openapi31"], "urls": [], "use_cases": ["manage and route API traffic for microservices", "set up an API gateway with rate limiting and authentication", "run a Kubernetes ingress controller with rich plugins", "load balance and proxy requests to upstream services", "route LLM API traffic with response caching and semantic model routing", "do canary releases and circuit breaking for service traffic", "add observability to north-south and east-west traffic"], "what_it_is": "Apache APISIX is a dynamic, high-performance cloud-native API gateway and AI gateway built on NGINX and etcd, offering load balancing, dynamic routing, authentication, rate limiting, canary release, circuit breaking, and observability. It ships 100+ hot-reloadable plugins, extensible runners for Java, Go, and Python, and can serve as a Kubernetes ingress controller or a gateway for LLM and AI workloads.", "when_to_avoid": ["You only need a simple static reverse proxy and do not want to operate etcd or a distributed config store", "You run a small single-service app where a full gateway adds unnecessary operational overhead", "You require a fully managed cloud gateway service rather than self-hosted infrastructure", "Your team cannot take on OpenResty/LuaJIT-based operations or Apache project governance"], "when_to_choose": ["You need dynamic routing and hot-reloaded plugin configuration backed by etcd in a cloud-native environment", "You are deploying on Kubernetes and want ingress or Gateway API control with declarative CRDs", "You need to gateway, cache, and route AI/LLM provider traffic with semantic model routing", "You want a large plugin ecosystem plus custom plugins in Lua, Java, Go, or Python"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/apisix", "repo": "apache/apisix", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.610013+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:03:39.847972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ee2689a8042146ae10f0c52c36b2afb8c417b971afc0f8323a7f517c8d23499", "fetched_at": "2026-08-28T04:11:17.610013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/apisix"}, {"content_hash": "bae14de07872604f05b2d67a5d9e7e5381bf7fd2d4d40809cd76986885a9d929", "fetched_at": "2026-08-29T08:01:51.285377+00:00", "kind": "homepage", "missing": false, "url": "https://apisix.apache.org/blog/"}, {"content_hash": "7645c4d295a12083101721d63227dce20bfbd33f224dbae683193e1455bfcd2c", "fetched_at": "2026-08-29T08:01:51.288116+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/apisix/getting-started/README"}, {"content_hash": "8520229ac41879ce5eac7e1e3c214067ba936cb6b53c6dca3535e57f9211b760", "fetched_at": "2026-08-29T08:01:51.290380+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/ingress-controller/overview"}, {"content_hash": "7119cbf7ec3f6e636729abe0496e6a66864d199097178036d707f5c0942584c2", "fetched_at": "2026-08-29T08:01:51.292170+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/helm-chart/apisix"}, {"content_hash": "f6227f0ecc41fc21300bd047d7323db25c51e1089a1497963cf61c6a20fd0513", "fetched_at": "2026-08-29T08:01:51.293743+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/docker/build"}, {"content_hash": "ca57f992f2aed7dcad121ca4e61b69fb633b7ebd411a760b02810f853b5672be", "fetched_at": "2026-08-29T08:01:51.295313+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/java-plugin-runner/development"}, {"content_hash": "f73de8159535467ff53ebba4cf836c04ad6936b0d0c0290022d500a12cabce0a", "fetched_at": "2026-08-29T08:01:51.297092+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/go-plugin-runner/getting-started"}, {"content_hash": "0c5247c917c0d1e9ffd584bd77557164192222746f93fd516718359e6c25a9c0", "fetched_at": "2026-08-29T08:01:51.298807+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/python-plugin-runner/getting-started"}, {"content_hash": "cdef87451d2879620ff7ef014ce562523aaa82b676a468a856b0eec3f15cdd55", "fetched_at": "2026-08-29T08:01:51.300476+00:00", "kind": "site_page", "missing": false, "url": "https://apisix.apache.org/docs/general/join"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2703, "days_push": 7, "days_rel": 13, "gap_med": 78.0, "n_releases_24m": 9}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}