name: Simon Data Rate Limits description: >- Published rate limits for the Simon Data APIs. The Audience API carries one hard, documented number — 50 requests per second across an entire organisation. The Simon Signal Event Ingestion API publishes no numeric limit; throughput is a contractual matter with the account team. generated: '2026-08-13' method: searched source: https://docs.simondata.com/reference/getting-started url: https://docs.simondata.com/reference/getting-started created: '2026-06-13' modified: '2026-08-13' limit_count: 1 rateLimits: - name: Audience API api: Simon Data Audience API endpoint: https://api.simondata.com/audience/v2/contacts method: GET scope: per-organization limit: 50 unit: requests window: 1s public: true status_on_exhaustion: 429 description: >- A limit of 50 requests/second applied across all requests made by your organisation. The limit aggregates across every bearer token the organisation holds — issuing additional tokens does not increase throughput. increase: Contact your Simon account manager with the request and use-case details. source: https://docs.simondata.com/reference/getting-started headers: [] headers_note: >- Simon publishes no RateLimit-*, X-RateLimit-* or Retry-After response headers. An agent cannot read remaining budget or a retry delay from a response — the only runtime signal is the 429 itself. This is the single largest runtime-semantics gap on this API. - name: Simon Signal Event Ingestion api: Simon Data Event Ingestion API endpoint: https://simonsignal.com/http/v1/collect method: POST scope: per-partner limit: null public: false status_on_exhaustion: null description: >- No numeric ingestion limit is published. Limits are enforced per partner account and depend on contracted throughput volume; high-volume customers are directed to the Simon engineering team. payload_limit: 100 KB per event (larger events are rejected) errorCodes: - {code: 400, meaning: Invalid JSON body} - {code: 401, meaning: Unauthorized — invalid or missing partnerSecret} - {code: 403, meaning: Forbidden} - {code: 412, meaning: Invalid request data (returned only when context.debug is true)} - {code: 500, meaning: Internal Server Error} - name: Outbound webhooks direction: simon-to-customer scope: per-endpoint limit: null public: false description: >- Simon is the client on this surface. It retries 429 and 5xx three times with exponential backoff and ignores 30x and other 4xx; see asyncapi/simon-data-webhooks.yml. reference: https://docs.simondata.com/reference/webhook-best-practices-1 bestPractices: - Meter Audience API traffic on your side — cache hot contact profiles and coalesce duplicate lookups; the 50 rps ceiling is organisation-wide. - Back off on 429; there is no Retry-After header to read, so use your own exponential backoff. - Turn on context.debug in non-production Simon Signal environments — without it, invalid events are dropped silently rather than rejected. - Keep events under 100 KB; larger events are rejected outright. - Monitor https://status.simondata.com/ (Simon Audience API and Simon Data Pipes are separate components).