{
  "name": "Visual Crossing Weather API",
  "slug": "visual-crossing",
  "website_url": "https://www.visualcrossing.com/weather-api/",
  "vendor_description": "\"The World's Most Comprehensive Weather API for Businesses and Developers.\"",
  "categories": [
    "weather"
  ],
  "summary": "Visual Crossing Weather API is a REST-based weather data service covering current conditions, forecasts up to 15 days, and over 50 years of historical records globally, with additional endpoints for air quality, solar and wind energy, maritime conditions, and astronomy data. It targets developers and businesses of all sizes, with self-serve signup, a free tier of 1,000 records per day, and paid plans starting at $35 per month. SDKs are available for 16 languages including Python, JavaScript, Java, Go, and Rust, making integration straightforward across most tech stacks.",
  "capabilities": {
    "supported_actions": [
      "timeline_weather",
      "timeline_llx_low_latency",
      "weather_maps_tiles",
      "historical_forecast",
      "stored_dataset",
      "current_conditions",
      "hourly_forecast",
      "daily_forecast",
      "historical_data",
      "weather_alerts",
      "solar_radiation",
      "air_quality",
      "marine_wave_data",
      "soil_temperature_moisture",
      "evapotranspiration",
      "degree_day_calculations",
      "history_summary_reporting",
      "astronomy_data"
    ],
    "supported_regions": [
      "global"
    ],
    "supported_languages": [
      "Arabic",
      "Bulgarian",
      "Czech",
      "Danish",
      "German",
      "Greek",
      "English",
      "Spanish",
      "Farsi",
      "Finnish",
      "French",
      "Hebrew",
      "Hungarian",
      "Italian",
      "Japanese",
      "Korean",
      "Dutch",
      "Polish",
      "Portuguese",
      "Russian",
      "Slovak",
      "Serbian",
      "Swedish",
      "Turkish",
      "Ukrainian",
      "Vietnamese",
      "Chinese"
    ],
    "input_types": [
      "address/partial address",
      "city name",
      "lat/lon coordinates",
      "US ZIP code",
      "multiple locations (pipe-delimited)"
    ],
    "output_types": [
      "JSON",
      "CSV",
      "FlatJSON"
    ],
    "webhooks_supported": false,
    "sandbox_available": false,
    "sdk_languages": [
      "Python",
      "JavaScript",
      "Java",
      "C#",
      "Go",
      "Ruby",
      "PHP",
      "Kotlin",
      "Swift",
      "Rust",
      "Scala",
      "R",
      "MATLAB",
      "Perl",
      "Visual Basic",
      "C++"
    ],
    "mcp_server_available": false
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/",
    "api_version": null,
    "versioning_scheme": "none",
    "stability": "ga",
    "deprecation_policy_url": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-documentation/",
    "auth_methods": [
      "api_key"
    ],
    "auth_docs_url": "https://www.visualcrossing.com/resources/documentation/weather-api/how-to-change-your-visual-crossing-weather-api-key/",
    "idempotency_supported": null,
    "error_format": "HTTP status codes (400, 401, 404, 429, 500) with optional JSON body",
    "webhook_signing": null,
    "webhook_events_url": null,
    "rate_limit_requests": null,
    "rate_limit_window": null,
    "sdk_packages": [
      {
        "package": null,
        "language": "Python",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Python"
      },
      {
        "package": null,
        "language": "JavaScript",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/JavaScript"
      },
      {
        "package": null,
        "language": "Java",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Java"
      },
      {
        "package": null,
        "language": "C#",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/C%23"
      },
      {
        "package": null,
        "language": "Go",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Go"
      },
      {
        "package": null,
        "language": "Ruby",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Ruby"
      },
      {
        "package": null,
        "language": "PHP",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/PHP"
      },
      {
        "package": null,
        "language": "Kotlin",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Kotlin"
      },
      {
        "package": null,
        "language": "Swift",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Swift"
      },
      {
        "package": null,
        "language": "Rust",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Rust"
      },
      {
        "package": null,
        "language": "Scala",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Scala"
      },
      {
        "package": null,
        "language": "R",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/R"
      },
      {
        "package": null,
        "language": "MATLAB",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/MATLAB"
      },
      {
        "package": null,
        "language": "Perl",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/Perl"
      },
      {
        "package": null,
        "language": "Visual Basic",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/VB"
      },
      {
        "package": null,
        "language": "C++",
        "official": true,
        "repo_url": "https://github.com/visualcrossing/Libraries/tree/main/C%2B%2B"
      }
    ],
    "mcp_url": null,
    "quickstart_url": "https://www.visualcrossing.com/resources/documentation/weather-api/how-do-i-get-started-with-the-weather-api/"
  },
  "pricing": {
    "pricing_model": "hybrid",
    "has_published_pricing": true,
    "starting_price_usd": "35.0000",
    "price_basis": "month",
    "free_tier_available": true,
    "free_tier_limit": "1,000 records/day",
    "free_tier_details": "1,000 records per day recurring at no cost for all registered accounts; includes full API access, historical data, 15-day forecasts, and commercial use rights; attribution to Visual Crossing required.",
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": false,
    "enterprise_plan_available": true,
    "price_points": [
      {
        "plan": "Free",
        "item": "1,000 records/day (recurring perpetual free allowance)",
        "amount_usd": "0.0000",
        "amount_percent": null,
        "per": "day",
        "currency": "USD",
        "source_url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/"
      },
      {
        "plan": "Metered",
        "item": "Weather API records (pay-as-you-go, charged per record after free daily 1,000)",
        "amount_usd": "0.0001",
        "amount_percent": null,
        "per": "record",
        "currency": "USD",
        "source_url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/"
      },
      {
        "plan": "Professional",
        "item": "Monthly subscription (10,000,000 records/month, 1 concurrent request, 1 user)",
        "amount_usd": "35.0000",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/"
      },
      {
        "plan": "Corporate",
        "item": "Monthly subscription (unlimited records fair use, 10 concurrent requests, 10 users)",
        "amount_usd": "150.0000",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/"
      },
      {
        "plan": "Enterprise",
        "item": "Custom pricing — contact sales for volume, concurrency, and licensing terms",
        "amount_usd": null,
        "amount_percent": null,
        "per": null,
        "currency": "USD",
        "source_url": "https://www.visualcrossing.com/weather-data-pricing/"
      }
    ]
  },
  "compliance": {
    "soc2": null,
    "hipaa": false,
    "gdpr": false,
    "iso_27001": null,
    "pci_dss": null,
    "sla_published": false,
    "sla_url": null,
    "data_retention_policy_url": "https://www.visualcrossing.com/privacy/",
    "documented_rate_limits": "Free tier: 1,000 records/day; requests throttled (HTTP 429) after daily limit; Professional plan: maximum 1 concurrent API request; Metered plan: unlimited concurrency; Corporate plan: 10 concurrent requests; Fair use policy applies - 10M+ records/day on Corporate triggers throttling.",
    "known_restrictions": [
      "Attribution ('Weather Data Provided by Visual Crossing') required on Free, Metered, and Professional plans; not required on Corporate and Enterprise plans",
      "Historical data available back to 1970 (50+ years)",
      "Fair use policy applies to Corporate plan (unlimited records subject to throttling above 10M records/day)",
      "Legacy Weather API endpoints scheduled for retirement December 31, 2026",
      "Professional plan: maximum 1 concurrent API request",
      "Non-enterprise plans require customer-initiated redistribution agreements for data sharing with third parties",
      "API key required for all requests",
      "Data storage in a database only permitted if specifically allowed by license level"
    ]
  },
  "developer": {
    "docs_url": "https://www.visualcrossing.com/documentation",
    "api_reference_url": null,
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": null,
    "status_page_url": "https://status.visualcrossing.com",
    "llms_txt_url": null,
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2003-01-01",
    "ga_date": "2020-01-01",
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": []
  },
  "scores": {
    "agent_friendliness": 30,
    "pricing_transparency": 100,
    "setup_speed": 85,
    "docs_quality": 15,
    "procurement_friction": 100,
    "trust_readiness": 0,
    "best_for": [
      "Prototypes and side projects - free to start, no sales call",
      "Teams needing broad API coverage out of the box",
      "Cost-sensitive teams - low, transparent entry price"
    ],
    "avoid_if": [
      "You have strict compliance requirements"
    ]
  },
  "sources": [
    {
      "field": "vendor_description",
      "url": "https://www.visualcrossing.com/about/",
      "excerpt": "Visual Crossing is a leading provider of weather data and enterprise analysis tools to data scientists, business analysts, professionals, and academics.",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://www.visualcrossing.com/about/",
      "excerpt": "Whether you need historical weather data, weather forecasts, climate summaries, historical weather forecasts, or specialty weather measures such as solar radiation, degree days, and weather alerts, Visual Crossing provides the data that you need for any weather project.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-llx-weather-api/",
      "excerpt": "The Timeline Low Latency eXecution Weather API is a highly scalable, lightweight endpoint designed for applications that require extremely fast responses and high request volumes",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://www.visualcrossing.com/weather-api/",
      "excerpt": "Access 50+ years of hourly, daily, forecast, and historical forecast weather data for any location worldwide.",
      "confidence": "high"
    },
    {
      "field": "supported_languages",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "Available languages include: ar (Arabic), bg (Bulgiarian), cs (Czech), da (Danish), de (German), el (Greek Modern), en (English), es (Spanish) ), fa (Farsi), fi (Finnish), fr (French), he Hebrew), hu, (Hungarian), it (Italian), ja (Japanese), ko (Korean), nl (Dutch), pl (Polish), pt (Portuguese), ru (Russian), sk (Slovakian), sr (Serbian), sv (Swedish), tr (Turkish), uk (Ukranian), vi (Vietnamese) and zh (Chinese).",
      "confidence": "high"
    },
    {
      "field": "output_types",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "json – an object-based JSON format suitable for easily parsing into a object structure. flatjson – an alternative JSON format that is designed to be be as light-weight as possible. csv – comma separated values where each column is a weather element.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/",
      "excerpt": "The current cost is $.0001.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.visualcrossing.com/weather-data-pricing/",
      "excerpt": "Attribution for all Visual Crossing Weather Data usage is required at the Pay-as-you-go and Pro license level.",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/",
      "excerpt": "for Corporate($150/mo) it is 1,500,000 records in a month",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/",
      "excerpt": "the first thousand records each day are free",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://www.visualcrossing.com/weather-data-pricing/",
      "excerpt": "Attribution for all Visual Crossing Weather Data usage is required at the Pay-as-you-go and Pro license level. These users agree that any application or service which incorporates data obtained from the Visual Crossing Weather Data Server must prominently display the message 'Weather Data Provided by Visual Crossing'",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://www.visualcrossing.com/weather-api/",
      "excerpt": "Our prices start at free for both commercial and non-commercial use up to 1000 records per day",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://www.visualcrossing.com/resources/blog/enterprise-weather-api-scaling-your-business-with-reliable-high-volume-data-and-support/",
      "excerpt": "By customizing Service Level Agreements (SLAs), you ensure that you maintain access to the data you need to thrive while also receiving guaranteed uptime.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://www.visualcrossing.com/resources/blog/enterprise-weather-api-scaling-your-business-with-reliable-high-volume-data-and-support/",
      "excerpt": "Visual Crossing offers a 99.9% uptime guarantee, ensuring your weather data needs are always covered.",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "429 TOO_MANY_REQUESTS – The account has exceeded their assigned limits.",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.visualcrossing.com/weather-data-pricing/",
      "excerpt": "any application or service which incorporates data obtained from the Visual Crossing Weather Data Server must prominently display the message 'Weather Data Provided by Visual Crossing' in a legible manner near the data",
      "confidence": "high"
    },
    {
      "field": "vendor_description",
      "url": "https://www.visualcrossing.com/weather-api/",
      "excerpt": "Enterprise Weather API for Real-Time & Historical Data",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://www.visualcrossing.com/weather-api/",
      "excerpt": "Understand how solar radiation conditions such as GHR, sun elevation, and diffuse radiation affect energy production from the sun.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-maps-api/",
      "excerpt": "The Weather Maps API is a new set of endpoints that provide ready-to-use weather map tiles, stitched images, and matching legends suitable for web maps, dashboards, and applications.",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "Available languages include: ar (Arabic), bg (Bulgiarian), cs (Czech), da (Danish), de (German), el (Greek Modern), en (English), es (Spanish)",
      "confidence": "high"
    },
    {
      "field": "input_types",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "location (required) – is the address, partial address or latitude,longitude location for which to retrieve weather data. You can also use US ZIP Codes.",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://github.com/visualcrossing/Libraries",
      "excerpt": "C#, C++, Go, Java, JavaScript, Kotlin, MATLAB, PHP, Perl, Python, R, Ruby, Rust, Scala, Swift, VB",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/",
      "excerpt": "Currently, for Pro($35/mo), the breakeven is 350,000 records in a month",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/",
      "excerpt": "Currently, for Pro($35/mo), the breakeven is 350,000 records in a month",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.visualcrossing.com/weather-api/",
      "excerpt": "Our prices start at free for both commercial and non-commercial use up to 1000 records per day",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://www.visualcrossing.com/resources/documentation/visual-crossing-weather-free-plan-free-weather-data-for-analysts-and-api-developers/",
      "excerpt": "Up to 1,000 records per day",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/how-do-i-get-started-with-the-weather-api/",
      "excerpt": "create a free trial account",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://www.visualcrossing.com/weather-api/",
      "excerpt": "Enterprise Plans that are custom fit your demands for data size, concurrency or licensing terms.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://www.visualcrossing.com/weather-services-terms/",
      "excerpt": "Unless stated otherwise in your license agreement, access to the Service Components may be restricted, blocked, or terminated at any time. Unless your service plan includes an uptime guarantee with specific crediting provisions, Visual Crossing will have no obligation to compensate you",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://www.visualcrossing.com/weather-data-pricing/",
      "excerpt": "Professional: 1 [concurrent requests]. Metered: Unlimited. Corporate: 10. Enterprise: Unlimited.",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/",
      "excerpt": "You can never hit a limit or be throttled in any way. You will have unlimited concurrency all of the time.",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.visualcrossing.com/weather-services-terms/",
      "excerpt": "the data results returned by the Service Components may only be stored in a database or other storage and retrieval system if specifically permitted by your license level.",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "key (required) – your API key. Sign up for a free account using our Weather Data Services page.",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/",
      "excerpt": "Currently, for Pro($35/mo), the breakeven is 350,000 records in a month",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://www.visualcrossing.com/about/",
      "excerpt": "Founded in 2003, our mission has always been to empower data consumers and analysts to make better decisions based on high-quality, easy-to-access data.",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://www.visualcrossing.com/weather-services-terms/",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "sandbox_available",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/how-do-i-get-started-with-the-weather-api/",
      "excerpt": "create a free trial account",
      "confidence": "medium"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-documentation/",
      "excerpt": "The Legacy Weather API is scheduled to be retired on December 31, 2026",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/how-to-change-your-visual-crossing-weather-api-key/",
      "excerpt": "API queries are secured by the use of an API key which uniquely identifies the account.",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-documentation/",
      "excerpt": "rest/services/weatherdata/",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": "400 BAD_REQUEST – The format of the API is incorrect or an invalid parameter or combination of parameters was supplied. 401 UNAUTHORIZED – There is a problem with the API key, account or subscription. 404 NOT_FOUND – The request cannot be matched to any valid API request endpoint structure. 500 INTERNAL_SERVER_ERROR – A general error has occurred processing the request.",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://www.visualcrossing.com/weather-data-pricing/",
      "excerpt": "Attribution for all Visual Crossing Weather Data usage is required at the Pay-as-you-go and Pro license level.",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://www.visualcrossing.com/privacy/",
      "excerpt": "We have put in place appropriate physical, electronic, and managerial procedures to safeguard and secure the information we collect online.",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "mcp_server_available",
      "url": "https://www.visualcrossing.com/weather-api/",
      "excerpt": null,
      "confidence": "medium"
    }
  ],
  "fields_not_found": [
    "soc2",
    "iso_27001",
    "pci_dss",
    "webhooks_supported",
    "api_version",
    "rate_limit_requests",
    "rate_limit_window",
    "idempotency_supported",
    "webhook_signing",
    "webhook_events_url",
    "sla_url",
    "mcp_url",
    "notable_customers",
    "ga_date"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-14T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/visual-crossing",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/visual-crossing/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme API",
            "website_url": "https://acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example"
            }
          ]
        }
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}