Skip to content

Add anycrap.shop API#2490

Open
kafk3d wants to merge 2 commits into
APIs-guru:mainfrom
kafk3d:add-anycrap-shop
Open

Add anycrap.shop API#2490
kafk3d wants to merge 2 commits into
APIs-guru:mainfrom
kafk3d:add-anycrap-shop

Conversation

@kafk3d

@kafk3d kafk3d commented May 8, 2026

Copy link
Copy Markdown

Adds the Anycrap.shop API — a free REST API serving 35,000+ hand-curated absurdist AI-generated product concepts.

  • Provider: anycrap.shop
  • Category: entertainment
  • Auth: Bearer token (free key, no credit card)
  • HTTPS: yes
  • CORS: yes
  • OpenAPI source: https://anycrap.shop/openapi.json

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the initial OpenAPI 3.1.0 specification for the Anycrap.shop API, which includes endpoints for product management, category listing, and API key registration. The review feedback suggests several improvements to the specification: correcting an invalid URI example in the Product schema, adding descriptive text to the Error schema properties, and explicitly defining required fields in the response schemas for products and API key creation to ensure better compatibility with client generators.

Comment thread APIs/anycrap.shop/1.0.0/openapi.yaml Outdated
image:
type: string
format: uri
example: https://cdn.crapify.me/products/...

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The example for the image property contains ellipses (...), which makes it an invalid URI according to the format: uri constraint. It is recommended to use a realistic and valid URI example.

          example: https://cdn.crapify.me/products/thought-cancelling-headphones.png

Comment on lines +114 to +117
error:
type: string
code:
type: string

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The error and code properties in the Error schema lack descriptions. Providing clear descriptions for error fields helps developers understand and handle API errors more effectively.

        error:
          type: string
          description: A human-readable error message.
        code:
          type: string
          description: A machine-readable error code.

Comment on lines +168 to +176
schema:
type: object
properties:
data:
type: array
items:
$ref: "#/components/schemas/Product"
meta:
$ref: "#/components/schemas/Meta"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The response schema for the 200 OK status should explicitly list data and meta as required properties to ensure client generators handle them correctly. This applies to other response schemas in this specification as well.

              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: "#/components/schemas/Product"
                  meta:
                    $ref: "#/components/schemas/Meta"
                required:
                  - data
                  - meta

Comment on lines +328 to +339
schema:
type: object
properties:
key:
type: string
example: ak_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
prefix:
type: string
example: ak_a1b2c3
email:
type: string
example: dev@example.com

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The response schema for the 201 Created status should specify that key, prefix, and email are required properties to ensure they are always expected by client implementations.

              schema:
                type: object
                properties:
                  key:
                    type: string
                    example: ak_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
                  prefix:
                    type: string
                    example: ak_a1b2c3
                  email:
                    type: string
                    example: dev@example.com
                required:
                  - key
                  - prefix
                  - email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant