> ## Documentation Index
> Fetch the complete documentation index at: https://leadmagic.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Meta Ads Search

> Search for Meta Ads by company domain or name.

# Meta Ads

Search for Meta (Facebook/Instagram) ads run by a company. Analyze social media advertising strategies and creative approaches.

## Endpoint Details

<Tabs>
  <Tab title="Pricing" icon="coins">
    | Metric          | Value                      |
    | --------------- | -------------------------- |
    | **Cost**        | **0.2 credits** per search |
    | **Calculation** | 5 searches = 1 credit      |
    | **No Results**  | **FREE** if no ads found   |

    <Tip>
      Very cost-effective for social ad intelligence at just 0.2 credits per search.
    </Tip>
  </Tab>

  <Tab title="Rate Limits" icon="gauge">
    ### Per-Endpoint Limit

    | Metric              | Value               |
    | ------------------- | ------------------- |
    | **Requests/Minute** | 300                 |
    | **Burst Capacity**  | \~5 requests/second |

    <Info>
      Rate limits are subject to change. Custom rate limits are available on enterprise plans — [contact us](mailto:support@leadmagic.io).
    </Info>
  </Tab>
</Tabs>

***

## Quick Example

<CodeGroup>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X POST 'https://api.leadmagic.io/v1/ads/meta-ads-search' \
    -H 'X-API-Key: YOUR_API_KEY' \
    -H 'Content-Type: application/json' \
    -d '{"company_domain": "leadmagic.io"}'
  ```

  ```javascript Node.js theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch('https://api.leadmagic.io/v1/ads/meta-ads-search', {
    method: 'POST',
    headers: {
      'X-API-Key': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ company_domain: 'leadmagic.io' })
  });
  const data = await response.json();
  console.log(`Found ${data.ads?.length || 0} Meta ads`);
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.post(
      'https://api.leadmagic.io/v1/ads/meta-ads-search',
      headers={'X-API-Key': 'YOUR_API_KEY'},
      json={'company_domain': 'leadmagic.io'}
  )
  data = response.json()
  print(f"Found {len(data.get('ads', []))} Meta ads")
  ```
</CodeGroup>

***

## Request Parameters

<ParamField body="company_domain" type="string">
  Company website domain (preferred).
</ParamField>

<ParamField body="company_name" type="string">
  Company name.
</ParamField>

<Warning>
  You must provide either `company_domain` or `company_name` (or both).
</Warning>

***

## Response

<ResponseField name="company_name" type="string" required>
  Company searched
</ResponseField>

<ResponseField name="ads" type="array" required>
  Array of ad creatives
</ResponseField>

<ResponseField name="credits_consumed" type="number" required>
  Credits used (0.2 if found, 0 if not)
</ResponseField>

<ResponseField name="message" type="string" required>
  Human-readable status message
</ResponseField>

### Ad Object

| Field             | Type   | Description                  |
| ----------------- | ------ | ---------------------------- |
| `ad_id`           | string | Meta Ad Library ID           |
| `content`         | string | Ad copy/text                 |
| `image_url`       | string | Ad image URL                 |
| `video_url`       | string | Ad video URL (if video ad)   |
| `platform`        | string | Facebook, Instagram, or both |
| `started_running` | string | When ad started              |

### Example Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "company_name": "Airbnb",
  "ads": [
    {
      "ad_id": "123456789",
      "content": "Book unique homes and experiences all over the world.",
      "image_url": "https://...",
      "platform": "Facebook, Instagram",
      "started_running": "2026-01-15"
    }
  ],
  "credits_consumed": 0.2,
  "message": "Ads found."
}
```

***

## Success Messages

| Message                          | Meaning                | Cost        |
| -------------------------------- | ---------------------- | ----------- |
| `Ads found.`                     | Meta Ads data returned | 0.2 credits |
| `No ads found for this company.` | No Meta Ads found      | FREE        |

***

## Best Practices

<AccordionGroup>
  <Accordion title="Analyze visual creative" icon="image">
    Meta ads are highly visual. Study image styles and video formats.
  </Accordion>

  <Accordion title="Note platform targeting" icon="bullseye">
    See which platforms (Facebook vs Instagram) competitors prioritize.
  </Accordion>

  <Accordion title="Track seasonal campaigns" icon="calendar">
    Monitor how competitors adjust messaging for seasons and events.
  </Accordion>
</AccordionGroup>

***

## Use Cases

<CardGroup cols={2}>
  <Card title="Creative Inspiration" icon="palette">
    Study competitor visual styles and messaging.
  </Card>

  <Card title="Competitive Intelligence" icon="binoculars">
    Monitor competitor social ad strategies.
  </Card>

  <Card title="Market Research" icon="chart-pie">
    Analyze social advertising trends in your industry.
  </Card>

  <Card title="Campaign Planning" icon="calendar">
    Inform your own social ad strategy with competitor insights.
  </Card>
</CardGroup>


## OpenAPI

````yaml post /v1/ads/meta-ads-search
openapi: 3.1.0
info:
  title: LeadMagic API
  version: 1.4.34
  description: >
    # LeadMagic API Documentation


    The LeadMagic API provides comprehensive B2B data enrichment services
    including email validation, email finding, profile search, company
    intelligence, and more.


    ## Quick Start


    1. Get your API key from the [LeadMagic Dashboard](https://app.leadmagic.io)

    2. Add the `X-API-Key` header to all requests

    3. Start enriching your data!


    ## Base URL


    All API requests should be made to: `https://api.leadmagic.io`


    ## Rate Limits


    Each endpoint has specific rate limits (requests per minute). Exceeding
    limits returns a `429 Too Many Requests` response.


    ## Credits


    API calls consume credits based on the endpoint used. Check your balance
    with the `/v1/credits` endpoint.


    ## Support


    Contact us at support@leadmagic.io for assistance.
  contact:
    name: LeadMagic Support
    email: support@leadmagic.io
    url: https://leadmagic.io
  termsOfService: https://leadmagic.io/legal/terms
servers:
  - url: https://api.leadmagic.io
    description: Production API Server
security:
  - ApiKeyAuth: []
tags:
  - name: Credits
    description: Manage and check your credit balance
  - name: Analytics
    description: >-
      Monitor your API usage with comprehensive analytics endpoints (FREE - no
      credits consumed)
  - name: People Enrichment
    description: Find and validate contact information for individuals
  - name: Company Data
    description: Discover company information and intelligence
  - name: Jobs Data
    description: Search job listings and detect career changes
  - name: Ads Data
    description: Search advertising data across platforms
paths:
  /v1/ads/meta-ads-search:
    post:
      tags:
        - Ads Data
      summary: Meta Ads Search
      description: Search for Meta Ads by company domain or name.
      operationId: meta-ads-search
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_domain:
                  type: string
                  description: Company domain name
                  default: leadmagic.io
                  example: leadmagic.io
                company_name:
                  type: string
                  description: Company name
                  default: leadmagic
                  example: leadmagic
      responses:
        '200':
          description: Successful response with ads details
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Meta Ads retrieved successfully
                  credits_consumed:
                    type: number
                    example: 2.6
                  ads_count:
                    type: integer
                    example: 1
                  ads:
                    type: array
                    description: Array of ad objects (structure varies by ad type)
                    items:
                      type: object
                example:
                  message: Meta Ads retrieved successfully
                  credits_consumed: 2.6
                  ads_count: 1
                  ads:
                    - - adid: '0'
                        adArchiveID: '618153827656899'
                        archiveTypes: []
                        categories:
                          - 0
                        containsDigitallyCreatedMedia: false
                        containsSensitiveContent: false
                        collationCount: 1
                        collationID: 1015196963820298
                        currency: ''
                        endDate: 1741248000
                        entityType: person_profile
                        fevInfo: null
                        finServAdData:
                          is_deemed_finserv: false
                          is_limited_delivery: false
                        gatedType: eligible
                        hasUserReported: false
                        hiddenSafetyData: false
                        hideDataStatus: NONE
                        impressionsWithIndex:
                          impressionsText: null
                          impressionsIndex: -1
                        isAAAEligible: true
                        isAdAccountActioned: false
                        isActive: true
                        isProfilePage: false
                        pageID: '105549201674375'
                        pageInfo: null
                        pageIsDeleted: false
                        pageName: Lykkedal Retreat
                        politicalCountries: []
                        reachEstimate: null
                        regionalRegulationData:
                          finserv:
                            is_deemed_finserv: false
                            is_limited_delivery: false
                          tw_anti_scam:
                            is_limited_delivery: false
                        reportCount: null
                        snapshot:
                          ad_creative_id: 1159245568945589
                          cards: []
                          body_translations: {}
                          byline: null
                          caption: ezme.io
                          cta_text: Buy tickets
                          dynamic_item_flags: {}
                          dynamic_versions: null
                          edited_snapshots: []
                          effective_authorization_category: NONE
                          event:
                            event_promoted_type: external_tickets
                            event_start_timestamp: 1742130000
                            event_end_timestamp: 1742137200
                            event_location: Dalvej 5, Helsinge
                            event_timezone: Europe/Copenhagen
                          extra_images: []
                          extra_links: []
                          extra_texts: []
                          extra_videos: []
                          instagram_shopping_products: []
                          display_format: event
                          title: Yin Yoga & Yoga Nidra til LeadMagic
                          link_description: Dalvej 5, Helsinge
                          link_url: https://ezme.io/c/xHa/3KPb
                          page_welcome_message: null
                          images:
                            - original_image_url: >-
                                https://scontent-iad3-2.xx.fbcdn.net/v/t39.35426-6/481787314_4001422706744378_5754827939445302437_n.jpg?_nc_cat=111&ccb=1-7&_nc_sid=c53f8f&_nc_ohc=oLiF-cU0WxgQ7kNvgEM6GgD&_nc_oc=AdgH2C1dxKtFX8-Nb0xC8YJj9RAGxYUVx4s72-vlBMvSF8NqRSDRTgLtQ49bxn4GKvU&_nc_zt=14&_nc_ht=scontent-iad3-2.xx&_nc_gid=AxNB6smfEOXOGrm59sveePu&oh=00_AYFCcwS06k5-Zs4REiVNPyDBnDiH2m3ry6__l8b-xYVnNw&oe=67D010D7
                              resized_image_url: >-
                                https://scontent-iad3-2.xx.fbcdn.net/v/t39.35426-6/482055202_1183219813458252_5286390622516633466_n.jpg?stp=dst-jpg_s600x600_tt6&_nc_cat=106&ccb=1-7&_nc_sid=c53f8f&_nc_ohc=UpMVtSZb0FoQ7kNvgGYCYSO&_nc_oc=AdioNK9N0BC6jFliPpZBoCB7q8c6RxzPm1sjxYyWN8gW1fEzj5ort06-PEXPS9aRQtY&_nc_zt=14&_nc_ht=scontent-iad3-2.xx&_nc_gid=AxNB6smfEOXOGrm59sveePu&oh=00_AYET5FXrho887m4dU5OxwmVKM8nNNYMDyPzbcrFDRHPNkQ&oe=67CFD900
                              watermarked_resized_image_url: ''
                              image_crops: {}
                          videos: []
                          creation_time: 1741291804
                          page_id: 105549201674375
                          page_name: Lykkedal Retreat
                          page_profile_picture_url: >-
                            https://scontent-iad3-1.xx.fbcdn.net/v/t39.35426-6/482021866_1335378004273354_6611332374691484765_n.jpg?stp=dst-jpg_s60x60_tt6&_nc_cat=107&ccb=1-7&_nc_sid=c53f8f&_nc_ohc=9OkGTrz7rR0Q7kNvgG57RTD&_nc_oc=AdhR7nxSqcwLeXf4E6zMven92LUORzNF9f6UG5HdXPkNcCJwnCvuJsEFIkd2qEkf1mc&_nc_zt=14&_nc_ht=scontent-iad3-1.xx&_nc_gid=AxNB6smfEOXOGrm59sveePu&oh=00_AYHvvv7TVyYBBZbUWdFtsMMF1Zw19HFrCguT8PizFkDG-w&oe=67CFF9CB
                          page_categories:
                            '1215982301785137': Meditation Center
                          page_entity_type: person_profile
                          page_is_profile_page: false
                          instagram_actor_name: 🔆 ET LIV I BALANCE 🔆
                          instagram_profile_pic_url: >-
                            https://scontent-iad3-1.xx.fbcdn.net/v/t39.35426-6/482221977_1473904650233662_1812261223336634635_n.jpg?_nc_cat=102&ccb=1-7&_nc_sid=c53f8f&_nc_ohc=pt8glJ939ioQ7kNvgEhv2uO&_nc_oc=Adi7fFY9dROfonTLhbM1HQhTr-sBDcj7xGQeKttehNVcjEKjKkBqWDm69xB9k8lQLk4&_nc_zt=14&_nc_ht=scontent-iad3-1.xx&_nc_gid=AxNB6smfEOXOGrm59sveePu&oh=00_AYH7uq0g9Ag0DFiPvgZdXyt_1LXYO8ZrWuCq--rMrhWQfw&oe=67CFE12C
                          instagram_url: ''
                          instagram_handle: ''
                          is_reshared: false
                          version: 3
                          body:
                            context: {}
                            markup:
                              __html: >-
                                🌿 Yin Yoga &amp; LeadMagic Meditation i jurten
                                på Lykkedal Retreat 🌿<br /> <br /> Trænger du
                                til en dyb pause, hvor krop og sind får lov at
                                give slip og finde ro? ✨<br /> <br /> 🧘‍♀️ Yin
                                Yoga er en blid, meditativ yogaform, der
                                arbejder med kroppens bindevæv, led og
                                energibaner gennem lange, rolige stræk.
                                Stillingerne holdes i flere minutter, så kroppen
                                får tid til at slippe spændinger og finde dybere
                                afslapning. Alle kan være med – uanset
                                erfaring.<br /> <br /> 🎶 LeadMagic Meditation
                                fordyber din afslapning gennem dybe, vibrerende
                                lyde, der beroliger nervesystemet og inviterer
                                sindet til at give slip. Mange oplever en
                                følelse af lethed, ro og fornyet energi efter en
                                meditation.<br /> <br /> 📅 Dato: Søndag d. 16.
                                marts<br /> ⏰ Tid: Kl. 14:00 - 16:00<br /> 📍
                                Sted: Lykkedal Retreat, Dalvej 5, Helsinge<br
                                />       Pris: 275 kr.<br /> <br /> 🌿 Efter
                                workshoppen byder vi på økologisk urtete og
                                lækre snacks i vores hyggelige skovcafé. Her kan
                                du nyde en stille stund og mærke effekten af din
                                praksis. Tag en mindful gåtur i naturen og hils
                                på dyrene – en smuk måde at afslutte dagen
                                på.<br /> <br /> 🔔 Alle er velkomne – uanset
                                erfaring! 🔔<br /> <br /> 💚 Tilmelding &amp;
                                info:<br /> 📩 Send besked til Natassia på
                                info&#064;lykkedalretreat.dk eller tlf. 2390
                                7473<br /> <br /> 🌾 Lykkedal Retreat – en perle
                                i Nordsjællands natur 🌾<br /> Her finder du
                                åbne marker med heste, høje træer og den smukke
                                gamle Pibe Mølle. Workshoppen afholdes i den
                                stemningsfulde jurt/rundsal, hvor du kan fordybe
                                dig i ro og nærvær.<br /> <br /> ✨ Tidligere
                                deltagere siger:<br /> 🌟 &quot;Lykkedal er et
                                åndehul i naturen&quot;<br /> 🌟 &quot;Jeg kom
                                hjem i mig selv&quot;<br /> 🌟 &quot;Jeg havde
                                glemt, hvor meget jeg savner naturen&quot;<br />
                                <br /> 📩 Book din plads i dag – vi glæder os
                                til at byde dig velkommen!<br /> <br /> #YinYoga
                                #LeadMagicMeditation #LykkedalRetreat #IndreRo
                                #NaturligBalance #Mindfulness #Selvforkælelse
                                #TidTilDigSelv
                            callerHash: c339298372ed2a9ebf3ad02f136b05d2
                          brazil_tax_id: null
                          branded_content: null
                          current_page_name: Lykkedal Retreat
                          disclaimer_label: null
                          page_like_count: 1198
                          page_profile_uri: https://facebook.com/LykkedalRetreat
                          page_is_deleted: false
                          root_reshared_post: null
                          cta_type: BUY_TICKETS
                          additional_info: null
                          ec_certificates: null
                          country_iso_code: null
                          instagram_branded_content: null
                        spend: null
                        startDate: 1741248000
                        stateMediaRunLabel: null
                        publisherPlatform:
                          - facebook
                          - instagram
                        menuItems: []
                        targetedOrReachedCountries: []
                        totalActiveTime: 7915
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    BadRequest:
      description: |
        Bad Request - The request was malformed or contains invalid parameters.

        **Common causes:**
        - Missing required fields
        - Invalid field format (e.g., malformed email)
        - Invalid JSON syntax
        - Invalid parameter values
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ValidationError'
    Unauthorized:
      description: |
        Unauthorized - Authentication failed.

        **Common causes:**
        - Missing X-API-Key header
        - Invalid or expired API key
        - Malformed API key
      content:
        application/problem+json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/MissingAuthenticationError'
              - $ref: '#/components/schemas/InvalidApiKeyError'
    PaymentRequired:
      description: >
        Payment Required - Insufficient credits for this request.


        **Action required:** Add credits to your account at
        https://app.leadmagic.io/billing
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/InsufficientCreditsError'
    RateLimitExceeded:
      description: |
        Too Many Requests - Rate limit exceeded.

        **Action required:** Check the `Retry-After` header for when to retry.

        **Headers returned:**
        - `Retry-After`: Seconds until you can retry
        - `RateLimit-Limit`: Your limit per minute
        - `RateLimit-Remaining`: Remaining requests this minute
        - `RateLimit-Reset`: Seconds until limit resets
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait before retrying
        RateLimit-Limit:
          schema:
            type: integer
          description: Maximum requests per minute
        RateLimit-Remaining:
          schema:
            type: integer
          description: Remaining requests this minute
        RateLimit-Reset:
          schema:
            type: integer
          description: Seconds until limit resets
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/RateLimitExceededError'
    InternalServerError:
      description: >
        Internal Server Error - Something went wrong on our end.


        **Action required:** Wait 30 seconds and retry. If the problem persists,
        contact support@leadmagic.io
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
  schemas:
    ValidationError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/validation_error
            title: Request validation failed. Check your input parameters.
            status: 400
            code: validation_error
            param:
              - email
            detail: 'Email format is invalid. Expected format: user@domain.com'
            action: Provide a valid email address in the 'email' field.
            docs: https://leadmagic.io/docs/api-reference/errors
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    MissingAuthenticationError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/missing_authentication
            title: >-
              Authentication required. Provide a valid API key in the X-API-Key
              header (case-insensitive).
            status: 401
            code: missing_authentication
            docs: https://leadmagic.io/docs/api-reference/authentication
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    InvalidApiKeyError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/invalid_api_key
            title: Invalid API key. The key does not exist or is incorrect.
            status: 401
            code: invalid_api_key
            docs: https://leadmagic.io/docs/api-reference/authentication
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    InsufficientCreditsError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/insufficient_credits
            title: 'Insufficient credits: need 5, have 2.50. Add credits to continue.'
            status: 402
            code: insufficient_credits
            detail: >-
              This request requires 5 credit(s) but your account only has 2.50
              credits remaining.
            action: >-
              Add credits to your account at https://app.leadmagic.io/billing or
              contact support@leadmagic.io for enterprise plans.
            docs: https://leadmagic.io/docs/api-reference/credits
            context:
              credits_required: 5
              credits_available: 2.5
              credits_needed: 2.5
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    RateLimitExceededError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/rate_limit_exceeded
            title: >-
              Rate limit exceeded: 300 requests per 1 minute. Wait and try
              again.
            status: 429
            code: rate_limit_exceeded
            detail: >-
              You have exceeded the maximum allowed request rate. Please wait
              before making additional requests.
            action: >-
              Wait 42 seconds before retrying. Consider implementing exponential
              backoff.
            docs: https://leadmagic.io/docs/api-reference/rate-limits
            context:
              limit: 300
              window: 1 minute
              remaining: 0
              reset_at: 1706745642
              retry_after_seconds: 42
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    InternalServerError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/INTERNAL_ERROR
            title: >-
              Something went wrong on our end. Our team has been notified and is
              investigating.
            status: 500
            code: INTERNAL_ERROR
            detail: >-
              This is a temporary server error. The issue has been automatically
              reported to our team.
            action: >-
              Wait 30 seconds and retry your request. If the problem persists,
              contact support@leadmagic.io
            docs: https://leadmagic.io/docs/api-reference/errors
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    ErrorResponse:
      type: object
      description: RFC 9457 Problem Details error response
      required:
        - success
        - errors
      properties:
        success:
          type: boolean
          example: false
          description: Always false for error responses
        errors:
          type: array
          description: Array of error details (typically one, but can be multiple)
          items:
            $ref: '#/components/schemas/ErrorDetail'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
    ErrorDetail:
      type: object
      description: RFC 9457 compliant error detail
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
          description: RFC 9457 - URI reference identifying the error type
          example: https://api.leadmagic.io/errors/validation_error
        title:
          type: string
          description: RFC 9457 - Short human-readable summary
          example: Request validation failed. Check your input parameters.
        status:
          type: integer
          description: RFC 9457 - HTTP status code
          example: 400
        detail:
          type: string
          description: RFC 9457 - Human-readable explanation specific to this occurrence
          example: The email field is required but was not provided.
        instance:
          type: string
          format: uri
          description: RFC 9457 - URI reference for this specific occurrence
          example: /v1/people/email-validation#req_abc123
        code:
          type: string
          description: Machine-readable error code for programmatic handling
          example: validation_error
        param:
          type: array
          description: Parameters that caused the error
          items:
            type: string
          example:
            - email
        action:
          type: string
          description: Suggested action to resolve the error
          example: Provide a valid email address in the 'email' field.
        docs:
          type: string
          format: uri
          description: Link to relevant documentation
          example: https://leadmagic.io/docs/api-reference/errors
        context:
          type: object
          description: Additional context specific to this error type
          additionalProperties: true
    ResponseMeta:
      type: object
      description: Metadata included in all responses
      properties:
        request_id:
          type: string
          format: uuid
          description: Unique identifier for this request (use for debugging/support)
          example: ea6e3248-f4d2-437d-bca3-20881b529129
        timestamp:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the response was generated
          example: '2024-02-01T12:00:00.000Z'
        environment:
          type: string
          description: API environment (production, staging)
          example: production
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Your LeadMagic API key. Header name is case-insensitive (X-API-Key,
        X-API-KEY, x-api-key all work).

````