Aristocles Pty Ltd Food Recalls API

Food recall and enforcement records covering the recalled product, the reason for the recall, the hazard classification, distribution area, and the firm and dates involved. Records are business and product level, not consumer level. Bought by grocery, food-service and supply-chain platforms that must catch an affected product before it reaches a shelf or a menu. Source: Data courtesy of openFDA, U.S. Food and Drug Administration. Not endorsed by the FDA.. Licence: Public domain (U.S. Government work), openFDA terms of service. Base path: /v1/data/united-states-food-recalls. Requires an API key (X-API-Key).

Operations 3

GET /v1/data/united-states-food-recalls List United States Food Recalls records #
GET /v1/data/united-states-food-recalls/search Search United States Food Recalls by product_description #
GET /v1/data/united-states-food-recalls/{key} Get one United States Food Recalls record by recall_number #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aristocles-com-au:aristocles-com-au-food-recalls-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aristocles-com-au-food-recalls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aristocles Data Food Recalls API
  description: 'Four Australian data APIs on one key — subscriptions, trade pricing, PBS drugs, and rental prices.


    ---


    ## Quick start


    **1. Get your API key** — register in one request:

    ```

    POST /v1/auth/register

    {"email": "you@example.com", "name": "Your Name"}

    ```

    Copy the `api_key` from the response.


    **2. Authenticate** — add your key to every request as a header:

    ```

    X-API-Key: ar_live_xxxxxxxxxxxx

    ```


    **3. Run the discovery endpoint** — returns all available slugs, example calls, and your account limits:

    ```

    GET /v1/discovery

    ```


    **4. Make your first call:**

    ```

    GET /v1/prices/netflix?country=AU

    GET /v1/trades/electrician/prices?state=NSW&country=AU

    GET /v1/pbs/metformin

    GET /v1/rental/VIC/Richmond

    ```


    ---


    ## Four data domains


    | Domain | Base path | What it covers |

    |---|---|---|

    | **Subscription Pricing** | `/v1/prices`, `/v1/services` | 50+ SaaS & streaming services: Netflix, Spotify, Adobe, etc. |

    | **Contractor Trades** | `/v1/trades` | Plumbers, electricians, painters across AU, US, UK, CA, NZ |

    | **PBS Drug Pricing** | `/v1/pbs` | 14,000+ medications on Australia''s Pharmaceutical Benefits Scheme |

    | **Rental Market** | `/v1/rental` | Median weekly rent by suburb and postcode across Australia |

    | **RBA Economic Data** | `/v1/rba` | Cash rate, AUD FX rates, CPI inflation, mortgage rates, credit aggregates |


    ---


    ## MCP Server


    All four data domains are also available as MCP tools at:

    ```

    https://api.aristocles.com.au/mcp/

    ```

    Connect any MCP-compatible AI agent (Claude, GPT, Gemini) to get structured data without writing API calls.'
  version: 2.1.0
tags:
- name: Food Recalls
  description: 'Food recall and enforcement records covering the recalled product, the reason for the recall, the hazard classification, distribution area, and the firm and dates involved. Records are business and product level, not consumer level. Bought by grocery, food-service and supply-chain platforms that must catch an affected product before it reaches a shelf or a menu. Source: Data courtesy of openFDA, U.S. Food and Drug Administration. Not endorsed by the FDA.. Licence: Public domain (U.S. Government work), openFDA terms of service. Base path: /v1/data/united-states-food-recalls. Requires an API key (X-API-Key).'
paths:
  /v1/data/united-states-food-recalls:
    get:
      tags:
      - Food Recalls
      summary: List United States Food Recalls records
      description: 'List United States Food Recalls records with optional filters and pagination.


        **Source:** Data courtesy of openFDA, U.S. Food and Drug Administration. Not endorsed by the FDA. (Public domain (U.S. Government work), openFDA terms of service).


        **Fields returned:**

        - `recall_number` (str) — Unique recall identifier

        - `event_id` (str) — Identifier grouping related recall records

        - `status` (str) — Ongoing, completed, terminated or pending

        - `classification` (str) — Hazard class, where Class I is the most serious

        - `product_type` (str) — Product category, typically Food

        - `product_description` (str) — Description of the recalled product

        - `reason_for_recall` (str) — Why the product was recalled, such as an undeclared allergen

        - `recalling_firm` (str) — Company conducting the recall

        - `city` (str) — City of the recalling firm

        - `state` (str) — State or territory of the recalling firm

        - `country` (str) — Country of the recalling firm

        - `distribution_pattern` (str) — Where the product was distributed

        - `product_quantity` (str) — Amount of product affected as reported

        - `code_info` (str) — Lot codes, batch numbers or use-by dates identifying affected stock

        - `voluntary_mandated` (str) — Whether the recall was voluntary or ordered

        - `initial_firm_notification` (str) — How the firm first notified its customers

        - `recall_initiation_date` (date) — Date the firm began the recall

        - `report_date` (date) — Date the recall was published

        - `termination_date` (date) — Date the recall was closed out


        **Example:** `GET /v1/data/united-states-food-recalls?limit=10&classification=example`'
      operationId: list_endpoint_v1_data_united_states_food_recalls_get
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: Max records to return (1-100).
          default: 25
          title: Limit
        description: Max records to return (1-100).
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Records to skip, for pagination.
          default: 0
          title: Offset
        description: Records to skip, for pagination.
      - name: classification
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Hazard class, where Class I is the most serious
          examples:
          - example
          title: Classification
        description: Hazard class, where Class I is the most serious
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Ongoing, completed, terminated or pending
          examples:
          - example
          title: Status
        description: Ongoing, completed, terminated or pending
      - name: state
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: State or territory of the recalling firm
          examples:
          - example
          title: State
        description: State or territory of the recalling firm
      - name: country
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Country of the recalling firm
          examples:
          - example
          title: Country
        description: Country of the recalling firm
      - name: recalling_firm
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Company conducting the recall
          examples:
          - example
          title: Recalling Firm
        description: Company conducting the recall
      - name: product_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Product category, typically Food
          examples:
          - example
          title: Product Type
        description: Product category, typically Food
      - name: report_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Date the recall was published
          examples:
          - '2026-01-01'
          title: Report Date
        description: Date the recall was published
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
          title: X-Api-Key
      responses:
        '200':
          description: A page of United States Food Recalls records with pagination metadata.
          content:
            application/json:
              schema: {}
              example:
                data:
                  items:
                  - recall_number: example
                    event_id: example
                    status: example
                    classification: example
                    product_type: example
                    product_description: example
                    reason_for_recall: example
                    recalling_firm: example
                    city: example
                    state: example
                    country: example
                    distribution_pattern: example
                    product_quantity: example
                    code_info: example
                    voluntary_mandated: example
                    initial_firm_notification: example
                    recall_initiation_date: '2026-01-01'
                    report_date: '2026-01-01'
                    termination_date: '2026-01-01'
                  total: 1
                  limit: 25
                  offset: 0
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/data/united-states-food-recalls/search:
    get:
      tags:
      - Food Recalls
      summary: Search United States Food Recalls by product_description
      description: 'Search United States Food Recalls records by `product_description` (partial, case-insensitive).


        **Example:** `GET /v1/data/united-states-food-recalls/search?q=exa`'
      operationId: search_endpoint_v1_data_united_states_food_recalls_search_get
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
          minLength: 2
          maxLength: 100
          description: Case-insensitive partial match on product_description.
          examples:
          - exa
          title: Q
        description: Case-insensitive partial match on product_description.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: Max records to return (1-100).
          default: 25
          title: Limit
        description: Max records to return (1-100).
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
          title: X-Api-Key
      responses:
        '200':
          description: Matching United States Food Recalls records.
          content:
            application/json:
              schema: {}
              example:
                data:
                  items:
                  - recall_number: example
                    event_id: example
                    status: example
                    classification: example
                    product_type: example
                    product_description: example
                    reason_for_recall: example
                    recalling_firm: example
                    city: example
                    state: example
                    country: example
                    distribution_pattern: example
                    product_quantity: example
                    code_info: example
                    voluntary_mandated: example
                    initial_firm_notification: example
                    recall_initiation_date: '2026-01-01'
                    report_date: '2026-01-01'
                    termination_date: '2026-01-01'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/data/united-states-food-recalls/{key}:
    get:
      tags:
      - Food Recalls
      summary: Get one United States Food Recalls record by recall_number
      description: 'Fetch a single United States Food Recalls record by its `recall_number`.


        **Example:** `GET /v1/data/united-states-food-recalls/example`'
      operationId: get_endpoint_v1_data_united_states_food_recalls__key__get
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          description: The recall_number value to look up (case-insensitive).
          examples:
          - example
          title: Key
        description: The recall_number value to look up (case-insensitive).
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
          title: X-Api-Key
      responses:
        '200':
          description: A single United States Food Recalls record.
          content:
            application/json:
              schema: {}
              example:
                data:
                  recall_number: example
                  event_id: example
                  status: example
                  classification: example
                  product_type: example
                  product_description: example
                  reason_for_recall: example
                  recalling_firm: example
                  city: example
                  state: example
                  country: example
                  distribution_pattern: example
                  product_quantity: example
                  code_info: example
                  voluntary_mandated: example
                  initial_firm_notification: example
                  recall_initiation_date: '2026-01-01'
                  report_date: '2026-01-01'
                  termination_date: '2026-01-01'
        '404':
          content:
            application/json:
              example:
                error:
                  code: NOT_FOUND
                  message: No United States Food Recalls record for '...'.
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError