Subscription & API Usage

Overview

AiSEOTrack offers a freemium model for its content management API. Our tiered subscription plans allow you to choose the level of service that best fits your needs, from a free plan for basic usage to enterprise solutions for large-scale applications.

Each plan comes with different limits for API requests, content items, and access to premium features. This page explains the various plans, how to monitor your usage, and how to upgrade when needed.

Subscription Plans

Feature Free Basic Pro Enterprise
Price $0 $19.99/mo $49.99/mo $149.99/mo
API Requests 100/day 1,000/day 10,000/day Unlimited
Content Items 10 50 500 Unlimited
Schemas 3 10 50 Unlimited
Read Access
Write Access
AI Generation
Advanced Analytics
White Labeling
View and manage subscription plans

API Limits

API Request Limits

API request limits are enforced on a daily basis. Once you reach your daily limit, API requests will be rejected until the next day. The limit resets at midnight UTC.

Each API endpoint call counts as one request against your limit, regardless of the amount of data returned.

Content Item Limits

Content item limits refer to the maximum number of content documents you can store in the system. If you reach your limit, you'll need to either delete existing content or upgrade your plan to add more content.

Schema Limits

Schema limits define how many different content types you can create. Each schema represents a distinct content structure, like blog posts, products, authors, etc.

Monitoring Usage

You can monitor your API usage and subscription status in several ways:

Dashboard

Your AiSEOTrack dashboard shows your current subscription plan, API usage, and the number of content items you've created.

API Response Headers

All API responses include headers that indicate your current usage:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 63
X-RateLimit-Reset: 2023-04-01T00:00:00Z

JavaScript SDK

The JavaScript SDK provides methods to check your current subscription status and API usage:

// Get subscription info
const subscription = await client.getSubscriptionInfo();
console.log(`API requests remaining: ${subscription.apiRequestsRemaining}`);

// Check if user can perform an operation
const canWrite = await client.checkPermission('write');
if (!canWrite) {
  // Handle upgrade flow
}

Upgrading Your Plan

If you're reaching the limits of your current plan, you can upgrade to a higher tier at any time from your account settings. Upgrades take effect immediately, and you'll be charged the prorated difference for the remainder of your billing cycle.

Downgrading

You can also downgrade to a lower plan if you find you're not using all of your current plan's features. Downgrades take effect at the end of your current billing cycle.

When downgrading, be aware that you may lose access to content or features if you exceed the limits of your new plan. Make sure to adjust your content accordingly before the downgrade takes effect.

Managing API Keys

Your API key is used to authenticate requests to the AiSEOTrack API. You can generate multiple API keys for different applications or environments.

Generating API Keys

You can generate a new API key from your account settings. Each key can have specific permissions and usage limits, allowing you to control what each application can do.

Revoking API Keys

If you suspect that an API key has been compromised, you should immediately revoke it and generate a new one. Revoked keys will no longer be able to authenticate API requests.

Never share your API keys publicly or commit them to version control. Always store API keys securely and use environment variables in your applications.

Best Practices

Optimizing API Usage

  • Use batch operations when possible to reduce the number of API calls.
  • Implement caching on your client side to avoid repeated requests for the same data.
  • Only request the fields you need by using projection in your queries.
  • Use pagination to limit the amount of data returned in a single request.

Error Handling

Your application should handle API limit errors gracefully. The JavaScript SDK provides specific error types that make it easy to detect and respond to subscription-related issues:

try {
  const document = await client.createDocument({...});
} catch (error) {
  if (error.name === 'SubscriptionError') {
    if (error.code === 'subscription_required') {
      // Prompt user to upgrade
      showUpgradeModal();
    } else if (error.code === 'api_limit_exceeded') {
      // Inform user about rate limiting
      showRateLimitMessage();
    }
  } else {
    // Handle other errors
    console.error('API Error:', error);
  }
}

Planning for Growth

As your application grows, monitor your API usage trends to anticipate when you'll need to upgrade. This helps avoid unexpected interruptions in service due to hitting limits at critical times.