Apollo : Apollo is a fully-featured caching GraphQL client with integrations for React, Angular, and more.
This technology is used by 0.01% of websites in the JavaScript libraries category. The most popular industry vertical is Business and Finance, with Business being the top subcategory.
What is Apollo?
Apollo is a comprehensive platform for building, managing, and scaling GraphQL APIs. It includes Apollo Client for frontend applications, Apollo Server for backend development, and Apollo Studio for API management and monitoring.
Founded in 2016 by Geoff Schmidt and Matt DeBergalis, Apollo GraphQL emerged from the Meteor development company. The Apollo Client became the most popular GraphQL client for React applications, while Apollo Server simplified GraphQL backend development. Apollo's tools power GraphQL implementations at companies like Airbnb, Expedia, and The New York Times.
Industry Vertical Distribution
Technologies Frequently Used with Apollo
| Technology | Co-usage Rate | Website |
|---|---|---|
| React | 67.05% | https://reactjs.org |
| Google Analytics | 63.83% | http://google.com/analytics |
| Node.js | 59.66% | http://nodejs.org |
| Google Tag Manager | 48.86% | http://www.google.com/tagmanager |
| webpack | 47.92% | https://webpack.js.org/ |
| Google Workspace | 36.55% | https://workspace.google.com/ |
| jQuery | 35.04% | https://jquery.com |
| Sentry | 33.9% | https://sentry.io/ |
| Amazon Web Services | 32.01% | https://aws.amazon.com/ |
| Cloudflare | 28.98% | http://www.cloudflare.com |
Key Features
Apollo Client
- Caching: Normalized cache with automatic updates
- State Management: Local and remote data together
- React Hooks: useQuery, useMutation, useSubscription
- DevTools: Browser extension for debugging
Apollo Server
- Schema Definition: SDL or code-first
- Resolvers: Data fetching functions
- Plugins: Extend server functionality
- Data Sources: REST, database connections
Apollo Federation
- Supergraph: Unified API from microservices
- Subgraphs: Independent service schemas
- Gateway: Route queries to services
- Entity Resolution: Cross-service references
Apollo Studio
- Schema registry
- Operation metrics
- Schema checks
- Field usage analytics
AI-Powered Technology Recommendations
Our AI recommender engine, trained on 100 million data points, suggests these technologies for websites using Apollo:
| Technology | AI Score | Website |
|---|---|---|
| Medium | 0.3 | https://medium.com |
| Amazon Advertising | 0.24 | https://advertising.amazon.com |
| GraphQL | 0.2 | https://graphql.org |
| Node.js | 0.19 | http://nodejs.org |
| Envoy | 0.19 | https://www.envoyproxy.io/ |
| Crazy Egg | 0.18 | http://crazyegg.com |
| Next.js | 0.18 | https://nextjs.org |
| Intercom | 0.17 | https://www.intercom.com |
| three.js | 0.17 | https://threejs.org |
| Glyphicons | 0.17 | http://glyphicons.com |
IAB Tier 1 Vertical Distribution
Relative Usage by Industry
Market Distribution Comparison
Use Cases
React Applications
React developers integrate GraphQL with Apollo Client's hooks. The normalized cache ensures components stay synchronized as data changes across the application.
Microservices Federation
Organizations compose multiple GraphQL services into unified APIs. Apollo Federation enables teams to develop independent subgraphs while presenting a single API to clients.
API Gateway
Companies build API gateways using Apollo Router or Gateway. REST services expose data through GraphQL, providing flexible querying for diverse client needs.
Mobile Applications
Mobile teams use Apollo Client for iOS, Android, and React Native. Offline support and optimistic updates provide responsive user experiences.
Real-Time Features
Applications implement live updates with Apollo subscriptions. Chat, notifications, and dashboards receive data as it changes on the server.
Enterprise GraphQL
Large organizations manage GraphQL at scale with Apollo Studio. Schema governance, usage analytics, and CI/CD integration support enterprise requirements.
IAB Tier 2 Subcategory Distribution
Top Websites Using Apollo
| Website | IAB Category | Subcategory | OpenRank |
|---|---|---|---|
| playstation.com | Video Gaming | Console Games | 6.63 |
| unity3d.com | Technology & Computing | Augmented Reality | 5.78 |
| ascd.org | Education | Educational Content | 5.35 |
| seek.com.au | Careers | Career Advice | 5.22 |
| fashionnova.com | Style & Fashion | Fashion Trends | 5.21 |
| babycenter.com | Healthy Living | Parenting | 5.12 |
| wizardingworld.com | Events and Attractions | World Movies | 5.08 |
| vocal.media | Hobbies & Interests | Content Production | 5.07 |
| 1800flowers.com | Shopping | Flower Shopping | 5.03 |
| theweek.co.uk | News and Politics | International News | 4.93 |
Code Examples
Apollo Client Setup
import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://api.example.com/graphql',
cache: new InMemoryCache(),
defaultOptions: {
watchQuery: { fetchPolicy: 'cache-and-network' }
}
});
function App() {
return (
<ApolloProvider client={client}>
<MyComponent />
</ApolloProvider>
);
}
React Hooks
import { useQuery, useMutation, gql } from '@apollo/client';
const GET_USERS = gql`
query GetUsers {
users { id name email }
}
`;
const CREATE_USER = gql`
mutation CreateUser($input: CreateUserInput!) {
createUser(input: $input) { id name }
}
`;
function UserList() {
const { loading, error, data } = useQuery(GET_USERS);
const [createUser] = useMutation(CREATE_USER, {
refetchQueries: [{ query: GET_USERS }]
});
if (loading) return <p>Loading...</p>;
if (error) return <p>Error: {error.message}</p>;
return (
<ul>
{data.users.map(user => (
<li key={user.id}>{user.name}</li>
))}
</ul>
);
}
Apollo Server
import { ApolloServer } from '@apollo/server';
import { startStandaloneServer } from '@apollo/server/standalone';
const typeDefs = `#graphql
type User { id: ID!, name: String!, email: String! }
type Query { users: [User!]! }
type Mutation { createUser(name: String!, email: String!): User! }
`;
const resolvers = {
Query: {
users: async (_, __, { dataSources }) => {
return dataSources.userAPI.getUsers();
}
},
Mutation: {
createUser: async (_, { name, email }, { dataSources }) => {
return dataSources.userAPI.createUser({ name, email });
}
}
};
const server = new ApolloServer({ typeDefs, resolvers });
await startStandaloneServer(server, { listen: { port: 4000 } });
Usage by Domain Popularity (Top 1M)
Usage by Domain Age
The average age of websites using Apollo is 13.2 years. The average OpenRank (measure of backlink strength) is 2.72.
Comparison and Ecosystem
Apollo Client vs urql
- Size: urql smaller bundle
- Features: Apollo more comprehensive
- Cache: Apollo normalized, urql document
- Learning Curve: urql simpler
Apollo Server vs graphql-yoga
- Simplicity: yoga more straightforward
- Features: Apollo more enterprise features
- Plugins: Both support plugins
- Federation: Apollo better support
Ecosystem
- Apollo Router: High-performance gateway
- Apollo Sandbox: GraphQL IDE
- Rover CLI: Schema management
- Apollo iOS/Kotlin: Mobile clients
Strengths
- Comprehensive platform
- Excellent React integration
- Federation for microservices
- Enterprise tooling
Considerations
- Learning curve for cache
- Bundle size concerns
- Paid features for enterprise
- Configuration complexity
Emerging Websites Using Apollo
| Website | IAB Category | Subcategory | OpenRank |
|---|---|---|---|
| wilzifer.com | Video Gaming | eSports | 0 |
| anotherventure.com | Business and Finance | Business | 0 |
| johnboucard.com | Business and Finance | Business | 0 |
| sdss1.com | Real Estate | Auto Type | 0 |
| hgitravelguide.com | Travel | Travel Type | 0 |
