openapi: 3.0.3 info: title: Account Account API Domain Stats API API version: v2 servers: - url: https://api.spyfu.com/apis/accounts_api security: - Basic_Authentication_Token: [] - Query_Parameter_Token: [] - HMAC_Authentication_Header: [] tags: - name: Domain Stats API paths: /v2/getAllDomainStats: get: operationId: DomainStatsApi_GetAllDomainStats_GET summary: Get All Domain Stats description: 'Returns comprehensive domain statistics for all available historical periods. This endpoint provides time-series data showing SEO and PPC performance trends to analyze domain growth, competitive positioning, and marketing effectiveness over time. [Visualize this API live on SpyFu](https://www.spyfu.com/domain-overview?query=example.com)' parameters: - name: domain in: query description: Domain to retrieve comprehensive statistics for. required: true schema: type: string example: example.com example: example.com - name: countryCode in: query description: Country market to search. Specifically, this maps to the Google domain version to query against (e.g., google.com for US, google.de for Germany, etc.). All Countries schema: type: string default: US enum: - AR - AT - AU - BE - BR - CA - CH - DE - DK - ES - FR - IE - IN - IT - JP - MX - NL - 'NO' - NZ - PL - PT - SE - SG - TR - UA - UK - US - ZA example: US example: US responses: '200': description: Successfully retrieved comprehensive domain statistics across all time periods. Returns historical data showing SEO/PPC trends, keyword counts, traffic estimates, and competitive metrics. content: application/json: schema: description: Response wrapper containing comprehensive domain performance statistics across multiple time periods with detailed SEO and PPC metrics. type: object properties: domain: description: Domain name for which the statistics were collected and analyzed. type: string nullable: true example: example.com results: description: Array of domain performance statistics organized by time period, including SEO metrics, PPC data, traffic estimates, and competitive strength indicators. type: array items: type: object properties: searchMonth: description: Month when these domain statistics were collected (1-12). type: integer format: int32 example: 5 searchYear: description: Year when these domain statistics were collected. type: integer format: int32 example: 2021 averageOrganicRank: description: Average organic search ranking position across all keywords for this domain during the specified month. type: number format: double example: 41.08 monthlyPaidClicks: description: Estimated monthly clicks received from paid search advertising across all keywords, calculated based on average ad positions and click-through rates. type: number format: double example: 61181.88 averageAdRank: description: Average paid search ad position across all advertised keywords during the specified month. type: number format: double example: 1.03 totalOrganicResults: description: Total number of unique organic keywords where this domain appears in the top 100 search results during the specified month. type: integer format: int32 example: 302731 monthlyBudget: description: Estimated monthly Google Ads spending based on keyword positions, click-through rates, and cost-per-click data across all paid campaigns. type: number format: double example: 6721.39 monthlyOrganicValue: description: Estimated value of organic search traffic based on keyword rankings and equivalent cost-per-click values, representing the advertising spend equivalent of organic visibility. type: number format: double example: 384233.16 totalAdsPurchased: description: Total number of unique paid keywords where this domain's ads appeared on the first page of search results, measured over the last 14 data collection periods. type: integer format: int32 example: 599 monthlyOrganicClicks: description: Estimated monthly organic search traffic clicks received from all ranking keywords during the specified month. type: number format: double example: 290145 strength: description: Domain authority score (0-100) indicating competitive strength and ranking consistency across high-value keywords, with higher scores representing stronger market position. type: integer format: int32 example: 75 totalInverseRank: description: Cumulative ranking score where higher organic positions receive higher point values (position 1 = 100 points, position 2 = 99 points, etc.), summed across all ranking keywords. type: integer format: int64 example: 4971564 areStatsNormalized: description: Indicates whether the statistics have been normalized for consistent comparison across different time periods and data collection methods. type: boolean example: true additionalProperties: false description: Represents comprehensive domain performance statistics for a specific month, including SEO and PPC metrics, traffic estimates, and competitive strength indicators. nullable: true resultCount: description: Number of results returned type: integer format: int32 readOnly: true example: 1 additionalProperties: false '400': description: Bad Request - Invalid parameters provided (e.g., invalid domain format or invalid country code) '401': description: Unauthorized - Invalid API credentials or insufficient permissions to access domain statistics data '500': description: Internal Server Error - A server-side error occurred while processing the request tags: - Domain Stats API /v2/getLatestDomainStats: get: operationId: DomainStatsApi_GetLatestDomainStats_GET summary: Get Latest Domain Stats description: 'Returns the most recent domain statistics available in SpyFu''s database. This endpoint provides current SEO and PPC performance metrics to analyze the domain''s latest competitive position and marketing activity. [Visualize this API live on SpyFu](https://www.spyfu.com/domain-overview?query=example.com)' parameters: - name: domain in: query description: Domain to retrieve latest statistics for. required: true schema: type: string example: example.com example: example.com - name: countryCode in: query description: Country market to search. Specifically, this maps to the Google version to query against (google.de for Germany, etc). Google.com (US) is the default. [See full list of supported Countries](https://developer.spyfu.com/update/reference/country-code-enum#/) schema: type: string default: US enum: - AR - AT - AU - BE - BR - CA - CH - DE - DK - ES - FR - IE - IN - IT - JP - MX - NL - 'NO' - NZ - PL - PT - SE - SG - TR - UA - UK - US - ZA example: US example: US - name: pastNMonths in: query description: Returns the latest N months of stats for domain. schema: type: integer format: int32 maximum: 2147483647 minimum: 0 responses: '200': description: Successfully retrieved latest domain statistics. Returns the most recent SEO and PPC metrics including keyword counts, traffic estimates, and competitive positioning data. content: application/json: schema: description: Response wrapper containing comprehensive domain performance statistics across multiple time periods with detailed SEO and PPC metrics. type: object properties: domain: description: Domain name for which the statistics were collected and analyzed. type: string nullable: true example: example.com results: description: Array of domain performance statistics organized by time period, including SEO metrics, PPC data, traffic estimates, and competitive strength indicators. type: array items: type: object properties: searchMonth: description: Month when these domain statistics were collected (1-12). type: integer format: int32 example: 5 searchYear: description: Year when these domain statistics were collected. type: integer format: int32 example: 2021 averageOrganicRank: description: Average organic search ranking position across all keywords for this domain during the specified month. type: number format: double example: 41.08 monthlyPaidClicks: description: Estimated monthly clicks received from paid search advertising across all keywords, calculated based on average ad positions and click-through rates. type: number format: double example: 61181.88 averageAdRank: description: Average paid search ad position across all advertised keywords during the specified month. type: number format: double example: 1.03 totalOrganicResults: description: Total number of unique organic keywords where this domain appears in the top 100 search results during the specified month. type: integer format: int32 example: 302731 monthlyBudget: description: Estimated monthly Google Ads spending based on keyword positions, click-through rates, and cost-per-click data across all paid campaigns. type: number format: double example: 6721.39 monthlyOrganicValue: description: Estimated value of organic search traffic based on keyword rankings and equivalent cost-per-click values, representing the advertising spend equivalent of organic visibility. type: number format: double example: 384233.16 totalAdsPurchased: description: Total number of unique paid keywords where this domain's ads appeared on the first page of search results, measured over the last 14 data collection periods. type: integer format: int32 example: 599 monthlyOrganicClicks: description: Estimated monthly organic search traffic clicks received from all ranking keywords during the specified month. type: number format: double example: 290145 strength: description: Domain authority score (0-100) indicating competitive strength and ranking consistency across high-value keywords, with higher scores representing stronger market position. type: integer format: int32 example: 75 totalInverseRank: description: Cumulative ranking score where higher organic positions receive higher point values (position 1 = 100 points, position 2 = 99 points, etc.), summed across all ranking keywords. type: integer format: int64 example: 4971564 areStatsNormalized: description: Indicates whether the statistics have been normalized for consistent comparison across different time periods and data collection methods. type: boolean example: true additionalProperties: false description: Represents comprehensive domain performance statistics for a specific month, including SEO and PPC metrics, traffic estimates, and competitive strength indicators. nullable: true resultCount: description: Number of results returned type: integer format: int32 readOnly: true example: 1 additionalProperties: false '400': description: Bad Request - Invalid parameters provided (e.g., invalid domain format or invalid country code) '401': description: Unauthorized - Invalid API credentials or insufficient permissions to access domain statistics data '500': description: Internal Server Error - A server-side error occurred while processing the request tags: - Domain Stats API /v2/getDomainStatsForExactDate: get: operationId: DomainStatsApi_GetDomainStatsForExactDate_GET summary: Get Domain Stats For Exact Date description: 'Returns domain statistics for a specific month and year. This endpoint provides point-in-time snapshots of SEO and PPC performance metrics to analyze historical domain activity and compare performance across different time periods. [Visualize this API live on SpyFu](https://www.spyfu.com/domain-overview?query=example.com)' parameters: - name: domain in: query description: Domain to retrieve statistics for. required: true schema: type: string example: example.com example: example.com - name: countryCode in: query description: Country market to search. Specifically, this maps to the Google version to query against (google.de for Germany, etc). Google.com (US) is the default. [See full list of supported Countries](https://developer.spyfu.com/update/reference/country-code-enum#/) schema: type: string default: US enum: - AR - AT - AU - BE - BR - CA - CH - DE - DK - ES - FR - IE - IN - IT - JP - MX - NL - 'NO' - NZ - PL - PT - SE - SG - TR - UA - UK - US - ZA example: US example: US - name: year in: query description: Year to retrieve statistics for. required: true schema: type: integer format: int32 maximum: 2025 minimum: 2006 example: 2020 example: 2020 - name: month in: query description: Month to retrieve statistics for (1-12). required: true schema: type: integer format: int32 maximum: 12 minimum: 1 example: 6 example: 6 responses: '200': description: Successfully retrieved domain statistics for the specified date. Returns SEO and PPC metrics including keyword counts, traffic estimates, and competitive positioning data. content: application/json: schema: description: Response wrapper containing comprehensive domain performance statistics across multiple time periods with detailed SEO and PPC metrics. type: object properties: domain: description: Domain name for which the statistics were collected and analyzed. type: string nullable: true example: example.com results: description: Array of domain performance statistics organized by time period, including SEO metrics, PPC data, traffic estimates, and competitive strength indicators. type: array items: type: object properties: searchMonth: description: Month when these domain statistics were collected (1-12). type: integer format: int32 example: 5 searchYear: description: Year when these domain statistics were collected. type: integer format: int32 example: 2021 averageOrganicRank: description: Average organic search ranking position across all keywords for this domain during the specified month. type: number format: double example: 41.08 monthlyPaidClicks: description: Estimated monthly clicks received from paid search advertising across all keywords, calculated based on average ad positions and click-through rates. type: number format: double example: 61181.88 averageAdRank: description: Average paid search ad position across all advertised keywords during the specified month. type: number format: double example: 1.03 totalOrganicResults: description: Total number of unique organic keywords where this domain appears in the top 100 search results during the specified month. type: integer format: int32 example: 302731 monthlyBudget: description: Estimated monthly Google Ads spending based on keyword positions, click-through rates, and cost-per-click data across all paid campaigns. type: number format: double example: 6721.39 monthlyOrganicValue: description: Estimated value of organic search traffic based on keyword rankings and equivalent cost-per-click values, representing the advertising spend equivalent of organic visibility. type: number format: double example: 384233.16 totalAdsPurchased: description: Total number of unique paid keywords where this domain's ads appeared on the first page of search results, measured over the last 14 data collection periods. type: integer format: int32 example: 599 monthlyOrganicClicks: description: Estimated monthly organic search traffic clicks received from all ranking keywords during the specified month. type: number format: double example: 290145 strength: description: Domain authority score (0-100) indicating competitive strength and ranking consistency across high-value keywords, with higher scores representing stronger market position. type: integer format: int32 example: 75 totalInverseRank: description: Cumulative ranking score where higher organic positions receive higher point values (position 1 = 100 points, position 2 = 99 points, etc.), summed across all ranking keywords. type: integer format: int64 example: 4971564 areStatsNormalized: description: Indicates whether the statistics have been normalized for consistent comparison across different time periods and data collection methods. type: boolean example: true additionalProperties: false description: Represents comprehensive domain performance statistics for a specific month, including SEO and PPC metrics, traffic estimates, and competitive strength indicators. nullable: true resultCount: description: Number of results returned type: integer format: int32 readOnly: true example: 1 additionalProperties: false '400': description: Bad Request - Invalid parameters provided (e.g., invalid domain format, date out of range, or invalid country code) '401': description: Unauthorized - Invalid API credentials or insufficient permissions to access domain statistics data '500': description: Internal Server Error - A server-side error occurred while processing the request tags: - Domain Stats API /v2/getActiveDatesForDomain: get: operationId: DomainStatsApi_GetActiveDatesForDomain_GET summary: Get Active Dates For Domain description: 'Returns a chronological list of dates for which SpyFu has collected domain statistics data. This endpoint helps identify data coverage periods and historical tracking availability for domain analysis and competitive research. [Visualize this API live on SpyFu](https://www.spyfu.com/domain-overview?query=example.com)' parameters: - name: domain in: query description: Domain to retrieve data coverage dates for. required: true schema: type: string example: example.com example: example.com - name: countryCode in: query description: Country market to search. Specifically, this maps to the Google version to query against (google.de for Germany, etc). Google.com (US) is the default. [See full list of supported Countries](https://developer.spyfu.com/update/reference/country-code-enum#/) schema: type: string default: US enum: - AR - AT - AU - BE - BR - CA - CH - DE - DK - ES - FR - IE - IN - IT - JP - MX - NL - 'NO' - NZ - PL - PT - SE - SG - TR - UA - UK - US - ZA example: US example: US responses: '200': description: Successfully retrieved list of active data collection dates for the domain. Returns chronological dates showing when SpyFu collected statistics data for historical analysis. content: application/json: schema: description: Response wrapper containing a list of available search dates for which domain statistics data is available, used for historical analysis and date-specific queries. type: object properties: resultCount: description: Number of results returned type: integer format: int32 readOnly: true example: 100 results: description: Array of available search dates for which domain performance statistics have been collected and can be queried. type: array items: type: object properties: dateString: type: string nullable: true month: type: integer format: int32 readOnly: true year: type: integer format: int32 readOnly: true additionalProperties: false readOnly: true nullable: true additionalProperties: false '400': description: Bad Request - Invalid parameters provided (e.g., invalid domain format or invalid country code) '401': description: Unauthorized - Invalid API credentials or insufficient permissions to access domain statistics data '500': description: Internal Server Error - A server-side error occurred while processing the request tags: - Domain Stats API /v2/getBulkDomainStats: get: operationId: DomainStatsApi_GetBulkDomainStats_GET summary: Bulk Domain Statistics (Snapshot or History) description: Returns SEO and PPC metrics for multiple domains in one request. Suitable for batch enrichment, benchmarking, and portfolio monitoring. parameters: - name: domains in: query description: Comma-separated list of domains to analyze. Each domain should be provided as a root domain (example.com) without protocol or paths. Maximum of 1000 domains per request. required: true schema: type: string example: example.com,competitor.com,industry-leader.com example: example.com,competitor.com,industry-leader.com - name: countryCode in: query description: Country market to analyze. Specifically, this maps to the Google domain version to query against (e.g., google.com for US, google.de for Germany, etc.). schema: type: string default: US enum: - AR - AT - AU - BE - BR - CA - CH - DE - DK - ES - FR - IE - IN - IT - JP - MX - NL - 'NO' - NZ - PL - PT - SE - SG - TR - UA - UK - US - ZA example: US example: US - name: showOnlyLatest in: query description: Controls data scope returned. If true, returns only the most recent statistics for each domain (current snapshot). If false, returns complete historical data showing trends over time for comprehensive analysis. required: true schema: type: boolean default: true example: true example: true responses: '200': description: OK content: application/json: schema: type: object properties: resultCount: description: Number of results returned type: integer format: int32 readOnly: true example: 1 totalMatchingResults: description: "The total number of results available that matches the query including\r\nitems that might not be included in the returned results/page." type: integer format: int64 readOnly: true nullable: true results: type: array items: type: object properties: domain: description: Searched domain type: string nullable: true example: domain.com results: type: array items: type: object properties: searchMonth: description: Month when these domain statistics were collected (1-12). type: integer format: int32 example: 5 searchYear: description: Year when these domain statistics were collected. type: integer format: int32 example: 2021 averageOrganicRank: description: Average organic search ranking position across all keywords for this domain during the specified month. type: number format: double example: 41.08 monthlyPaidClicks: description: Estimated monthly clicks received from paid search advertising across all keywords, calculated based on average ad positions and click-through rates. type: number format: double example: 61181.88 averageAdRank: description: Average paid search ad position across all advertised keywords during the specified month. type: number format: double example: 1.03 totalOrganicResults: description: Total number of unique organic keywords where this domain appears in the top 100 search results during the specified month. type: integer format: int32 example: 302731 monthlyBudget: description: Estimated monthly Google Ads spending based on keyword positions, click-through rates, and cost-per-click data across all paid campaigns. type: number format: double example: 6721.39 monthlyOrganicValue: description: Estimated value of organic search traffic based on keyword rankings and equivalent cost-per-click values, representing the advertising spend equivalent of organic visibility. type: number format: double example: 384233.16 totalAdsPurchased: description: Total number of unique paid keywords where this domain's ads appeared on the first page of search results, measured over the last 14 data collection periods. type: integer format: int32 example: 599 monthlyOrganicClicks: description: Estimated monthly organic search traffic clicks received from all ranking keywords during the specified month. type: number format: double example: 290145 strength: description: Domain authority score (0-100) indicating competitive strength and ranking consistency across high-value keywords, with higher scores representing stronger market position. type: integer format: int32 example: 75 totalInverseRank: description: Cumulative ranking score where higher organic positions receive higher point values (position 1 = 100 points, position 2 = 99 points, etc.), summed across all ranking keywords. type: integer format: int64 example: 4971564 areStatsNormalized: description: Indicates whether the statistics have been normalized for consistent comparison across different time periods and data collection methods. type: boolean example: true additionalProperties: false description: Represents comprehensive domain performance statistics for a specific month, including SEO and PPC metrics, traffic estimates, and competitive strength indicators. nullable: true additionalProperties: false nullable: true additionalProperties: false '400': description: Bad Request '401': description: User failed authorization '500': description: Internal Server Error tags: - Domain Stats API /v2/getMatchingDomains: get: operationId: DomainStatsApi_GetMatchingDomains_GET summary: Find Domains by Pattern and Metrics description: Discovers domains matching wildcard patterns and performance criteria for lead generation and competitive prospecting. Use wildcards like `*car*` to find automotive domains or filter by traffic, budget, and ranking metrics to identify high-value prospects. parameters: - name: query in: query description: A wildcard(*) used to find any domain that matches the pattern. `*blog*` will find any domain with the word blog appearing anywhere within it. required: true schema: type: string example: '*blog*' example: '*blog*' - name: countryCode in: query description: Country to get results for. schema: type: string default: US enum: - AR - AT - AU - BE - BR - CA - CH - DE - DK - ES - FR - IE - IN - IT - JP - MX - NL - 'NO' - NZ - PL - PT - SE - SG - TR - UA - UK - US - ZA example: US example: US - name: sortBy in: query description: Column to sort by. schema: type: string default: MonthlyOrganicClicks enum: - AverageAdRank - AverageOrganicRank - MonthlyBudget - MonthlyOrganicClicks - MonthlyOrganicValue - MonthlyPaidClicks - Strength - TotalOrganicResults example: MonthlyOrganicClicks example: MonthlyOrganicClicks - name: sortOrder in: query description: Order to sort the results. schema: type: string default: Descending enum: - Ascending - Descending example: Descending example: Descending - name: monthlyBudget.min in: query description: Minimum monthly ad budget filter. schema: type: number format: float example: 1000 example: 1000 - name: monthlyBudget.max in: query description: Maximum monthly ad budget filter. schema: type: number format: float example: 50000 example: 50000 - name: monthlyOrganicClicks.min in: query description: Minimum monthly organic traffic filter. schema: type: number format: float example: 10000 example: 10000 - name: monthlyOrganicClicks.max in: query description: Maximum monthly organic traffic filter. schema: type: number format: float example: 500000 example: 500000 - name: totalOrganicResults.min in: query description: Minimum organic keyword count filter. schema: type: number format: float example: 100 example: 100 - name: totalOrganicResults.max in: query description: Maximum organic keyword count filter. schema: type: number format: float example: 10000 example: 10000 - name: monthlyOrganicValue.min in: query description: Minimum organic traffic value filter. schema: type: number format: float example: 5000 example: 5000 - name: monthlyOrganicValue.max in: query description: Maximum organic traffic value filter. schema: type: number format: float example: 100000 example: 100000 - name: strength.min in: query description: Minimum domain strength score filter. schema: type: number format: float example: 30 example: 30 - name: strength.max in: query description: Maximum domain strength score filter. schema: type: number format: float example: 90 example: 90 - name: monthlyPaidClicks.min in: query description: Minimum monthly paid clicks filter. schema: type: number format: float example: 500 example: 500 - name: monthlyPaidClicks.max in: query description: Maximum monthly paid clicks filter. schema: type: number format: float example: 100000 example: 100000 - name: averageOrganicRank.min in: query description: Minimum average organic rank filter. schema: type: number format: float example: 1 example: 1 - name: averageOrganicRank.max in: query description: Maximum average organic rank filter. schema: type: number format: float example: 50 example: 50 - name: averageAdRank.min in: query description: Minimum average ad position filter. schema: type: number format: float example: 1 example: 1 - name: averageAdRank.max in: query description: Maximum average ad position filter. schema: type: number format: float example: 4 example: 4 - name: pageSize in: query description: The maximum number of rows returned. schema: type: integer format: int32 default: 5 maximum: 10000 minimum: 1 example: 5 example: 5 - name: startingRow in: query description: Row number to start the results with. schema: type: integer format: int32 default: 1 maximum: 10000 minimum: 1 example: 1 example: 1 responses: '200': description: OK content: application/json: schema: type: object properties: resultCount: description: Number of results returned type: integer format: int32 readOnly: true example: 1 totalMatchingResults: description: "The total number of results available that matches the query including\r\nitems that might not be included in the returned results/page." type: integer format: int64 readOnly: true nullable: true results: type: array items: type: object properties: domain: description: Searched domain type: string nullable: true example: domain.com results: type: array items: type: object properties: searchMonth: description: Month when these domain statistics were collected (1-12). type: integer format: int32 example: 5 searchYear: description: Year when these domain statistics were collected. type: integer format: int32 example: 2021 averageOrganicRank: description: Average organic search ranking position across all keywords for this domain during the specified month. type: number format: double example: 41.08 monthlyPaidClicks: description: Estimated monthly clicks received from paid search advertising across all keywords, calculated based on average ad positions and click-through rates. type: number format: double example: 61181.88 averageAdRank: description: Average paid search ad position across all advertised keywords during the specified month. type: number format: double example: 1.03 totalOrganicResults: description: Total number of unique organic keywords where this domain appears in the top 100 search results during the specified month. type: integer format: int32 example: 302731 monthlyBudget: description: Estimated monthly Google Ads spending based on keyword positions, click-through rates, and cost-per-click data across all paid campaigns. type: number format: double example: 6721.39 monthlyOrganicValue: description: Estimated value of organic search traffic based on keyword rankings and equivalent cost-per-click values, representing the advertising spend equivalent of organic visibility. type: number format: double example: 384233.16 totalAdsPurchased: description: Total number of unique paid keywords where this domain's ads appeared on the first page of search results, measured over the last 14 data collection periods. type: integer format: int32 example: 599 monthlyOrganicClicks: description: Estimated monthly organic search traffic clicks received from all ranking keywords during the specified month. type: number format: double example: 290145 strength: description: Domain authority score (0-100) indicating competitive strength and ranking consistency across high-value keywords, with higher scores representing stronger market position. type: integer format: int32 example: 75 totalInverseRank: description: Cumulative ranking score where higher organic positions receive higher point values (position 1 = 100 points, position 2 = 99 points, etc.), summed across all ranking keywords. type: integer format: int64 example: 4971564 areStatsNormalized: description: Indicates whether the statistics have been normalized for consistent comparison across different time periods and data collection methods. type: boolean example: true additionalProperties: false description: Represents comprehensive domain performance statistics for a specific month, including SEO and PPC metrics, traffic estimates, and competitive strength indicators. nullable: true additionalProperties: false nullable: true additionalProperties: false '400': description: Bad Request '401': description: User failed authorization '500': description: Internal Server Error tags: - Domain Stats API components: securitySchemes: Basic_Authentication_Token: type: http description: 'Basic Authentication is a standard that involves encoding your SPYFU_API_ID:SECRET_KEY into a Base64 string. Your SpyFu API ID and Secret Key can both be found under the Account Settings -> API Usage page. Additionally, you can find the Base64 string has been pre-generated on the same page under Base 64 Key. Finally, this encoded string is sent in the "Authorization" header prefixed with the keyword "Basic":
For example, to authorize as 00000000-0000-0000-0000-000000000000:AB12WXYZ the client would send
Authorization: Basic MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwOkFCMTJXWFla
' scheme: basic Query_Parameter_Token: type: apiKey description: An API key can be added as a query parameter. Your API key is listed as "Secret Key" found under the Account Settings -> API Usage page
For example, to authorize with the API key AB12WXY
/apis/example_api/GetExample?domain=spyfu.com&api_key=AB12WXYZ
name: api_key in: query HMAC_Authentication_Header: type: apiKey description: For even more security, each request can be individually authenticated with a timestamped HMAC (Hash Message Authentication Code) signature. Composed of your secret key, a valid timestamp, the API request path, and all request parameters.

Creating the signature:


Combine the pieces that will be converted into the signature.
StringToSign =
HTTP-Verb + "\n" +
Timestamp + "\n" +
UrlPath + "\n"
QueryParameters;

Create UTF-8 encodings of the above string and of your secret key.
byte[] SecretKeyBytes = UTF-8-Encoding-Of( Upper-Case-Of( SECRET_KEY ) );
byte[] StringToSignBytes = UTF-8-Encoding-Of( StringToSign );

Use an implementation of HMAC256 using your UTF-8 secret key to encode the combined string of your request. This should then be converted to Base64 to finish creating your signature.
Signature = Base64( HMAC-SHA256( SecretKeyBytes, StringToSignBytes ) );

Using the signature:


This signature is then sent in through an Authentication header with your username.
Authentication: UserName:Signature
name: Authentication in: header